0
Я пытаюсь выяснить, как использовать указатель из Data в Swift 3. У меня есть следующий простой метод в OBJ-C, который изменяет 4-е значение в файле значений 10 , Как бы это сделать в Swift 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) это коллекция, поэтому вы можете перебирать ее элементы. –