Что не так с этой реализацией кода? Objectice-c, IOS - PullRequest
0 голосов
/ 06 ноября 2019

Тестирование взаимосвязи между NSData, NSMutableData и байтовым методом и переменными байтового типа хочет изменить значение NSData на Байты, когда я запускаю это, оно завершает работу приложения, но не выдает никакой ошибки ..

Это работает нормально

NSData *myData = [[NSData alloc] initWithData:someData];
Byte *finalValue = (Byte *)[myData bytes];

Но это вызывает сбой приложения и не выдает ошибку

NSData *myData = [[NSData alloc] initWithData:someData];
NSMutableData *testingWaters = (NSMutableData *)[myData bytes];
Byte *finalValue = (Byte *)[testingWaters bytes];

РЕДАКТИРОВАНИЕ: Имейте в виду, что я хочу преобразовать переменную NSData или переменную NSMutableData в переменную байта.

1 Ответ

2 голосов
/ 06 ноября 2019

Вы можете создать изменяемую копию myData

    NSData* someData = [[NSString stringWithFormat:@"HELLO WORLD"]dataUsingEncoding:NSUTF8StringEncoding];

    NSData *myData = [[NSData alloc] initWithData:someData];
    NSMutableData *testingWaters = (NSMutableData *)[myData mutableCopy];

    Byte *finalValue = (Byte *)[testingWaters bytes];
...