以下代碼不能按預期工作。我在創建視圖之後但在顯示之前設置了一個數組。我使用NSLog來測試數組是否已設置,但if/else將數組視爲空。objective-c無nil陣列在if/else語句中出現爲零
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSLog(@"Planlist is nil %d/has %d objects", (planListArr == nil), [planListArr count]);
if (planListArr == nil || [planListArr count] == 0) { ... }
else {
NSLog(@"Planlist is empty");
}
}
日誌
2011-09-25 13:54:39.764 myVI[2938:13303] Planlist is nil 0/has 8 objects
2011-09-25 13:54:39.765 myVI[2938:13303] Planlist is empty
PlanList被定義爲
NSArray *planListArr;
@property (nonatomic, retain) NSArray *planListArr;
你可以在代碼中定義數組嗎?最後一段代碼被稱爲「聲明」數組。 – chown