成爲NULL我有C++編寫的圖書館借了一些事件,在後臺線程的工作原理:爲什麼某個變量塊
virtual void OnData(const char* data)
{
NSLog(@"Here 'data' string is present %s", data);
@autoreleasepool {
NSString* sData= [NSString stringWithCString:data encoding:NSUTF8StringEncoding];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Here _sometimes_ 'data'(%s) is nil (\0). But sData is always present %@", data, sData);
[callback OnData:sData];
});
};
}
而且有時我有NULL(我懷疑它實際上是垃圾)在參數dispatch_async塊變量。但是本地的NSString變量總是在這裏。爲什麼?
P.S.在這種情況下,我真的必須使用@autoreleasepool
嗎?
這不是C++。 – Barmar
Objective-C與C++混合 – BugaBuga