我有以下语法:
UTF16Char buffer[16];
for(int i = 0; i < 16; i++){
buffer[i] = ' ';
}
NSData *data1 = [[NSData alloc] initWithBytes: buffer length : sizeof(UTF16Char) * 16 ];
NSData *data2 = [[NSData alloc] initWithData: data1];
BOOL sameSrc = data1bytes == data2.bytes;
NSLog ( @"Equals: %d" , sameSrc);
在 iOS6 中 *date1 和 *date2 表示两个不同的地址,但在 iOS7 中指向同一个地址。这种行为是预期的并且initWithData
行为正确吗?
苹果图书馆 说:
使用内容数据初始化的数据对象。返回的对象可能与原始接收者不同。
所以我假设数据是从 date1 复制来初始化 date2 对象的。那是对的吗?