我有一个回调方法时套接字接收到这样的数据...异常解析复制到的NSString
+ (void) dataReceived:(NSData *)data {
NSData *dataCopy = [data copy];
NSString *msg = [[NSString alloc] initWithData:dataCopy encoding:NSUTF8StringEncoding];
NSLog(@"msg: %@", msg);
}
我可以在这两个data
和dataCopy
包含正确的字符串数据调试器看到的。 dataCopy
是没有问题,但当msg
线被调用时,我爆炸瓦特/这。
2015年4月2日15:45:10.179沙盒[15218:539849] - [__ NSCFString字节]: 无法识别的选择发送到实例0x7f9c71447870 2015年4月2日15 :45:10.184沙盒[15218: 539849 ***终止应用程序由于未捕获的 异常“NSInvalidArgumentException”,原因是:“ - [__ NSCFString 字节]:无法识别的选择发送到实例0x7f9c71447870”
我不明白,我可以看到数据是正确的,我认为使副本是防止访问被覆盖的内存。任何想法发生了什么?
D'Oh。我想你是正确的。 – Ternary 2015-04-02 21:04:49