0
私はSwift 3のデータからポインタを使う方法を解明しようとしています。OBJ-Cでは、10値ファイルの4番目の値を変更する次の簡単な方法があります。私はスイフト3でどのようにこれを達成するでしょうか?Swift 3のポインタを使ってデータを修正する
- (void) modifyFourthValueInFile:(NSString*)filePath {
//filePath is a file that contains 10 SInt16 values
NSData *data = [NSData dataWithContentsOfFile:filePath];
SInt16 *ourPointer = (SInt16*)data.bytes;
ourPointer += 3; // get the 4th value
*ourPointer = 1234; // modify the 4th value
[data writeToFile:filePath atomically:YES];
}
は、実際に私は、あなたが直接このようUnsafeMutablePointerに添字ことができますので、全体の作成バッファステップが必要とされていないことが判明:i16ptr [3] = 1234 –
kishdude
@kishdude:あなた私はそれを後で気づいた。バッファの利点としては、1)境界チェック2)コレクションであるため、その要素を反復処理できます。 –