我有一個回調方法時套接字接收到這樣的數據...異常解析複製到的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