我喜歡寫一些代碼:爲什麼debugger lldb表示在iOS 5.1模擬器中對象爲零?
_myDataArray = [[NSMutableArray alloc] initWithCapacity : kNum];
for (int i=0; i<kNum; i++) {
MyData *myData = [[[MyData alloc] init] autorelease];
pageData.title = [NSString stringWithFormat:@"No.%d line", i];
[_myDataArray addObject:myData];
}
有在的iOS 4.3模擬器沒有問題,但LLDB調試說_myDataArray是零
(lldb) po _myDataArray
(NSMutableArray *) $2 = 0x00000000 <nil>
iOS中
5.0/5.1模擬器時,Xcode 4.3.1但鑑於結果是正確的。
Xcode 4.3.2可以解決這個問題。
lldb說什麼_myDataArray是零?如果你在代碼中做了NSLog(@「_ myDataArray是%p」,_myDataArray);'它是否也顯示爲nil?你在使用ARC嗎? kNum被定義爲什麼? – 2012-03-09 08:35:05
NSLog打印_myDataArray不是零。我發現問題是:我在.h文件中創建實例變量NSMutableArray * _myPageDataArray,這是不正確的。我應該在.m文件中創建它。 – smoothdvd 2012-03-09 08:52:48
您是否找到了解決方案?我剛剛跑到這,並試圖將變量定義移動到m文件中,但它並沒有辦法。有些東西看起來嚴重錯誤。 – MagicSeth 2012-03-19 15:57:13