这个代码实现有什么问题?目标-c,内部监督办公室



测试NSData、NSMutableData And bytes方法和Byte Type变量之间的关系。如果要将NSData值更改为bytes,当我运行此程序时,它会崩溃应用程序,但不会引发任何错误。。

这运行正常

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变量转换为Byte变量。

您可以创建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];

最新更新