以下代码不能按预期工作。我在创建视图之后但在显示之前设置了一个数组。我使用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