我有一个 NSDictionary 可能会被设置在一个循环中。在循环结束时,我想知道字典是否已定义。这是一个例子:
NSDictionary *myDict;
for (int i=0; i < 100; i++){
if (thisCondition){
myDict = [NSDictionary dictionaryWithObjectsAndKeys:etc, nil];
}
}
if (myDict) {
[self doSomething];
}
不幸的是,无论 myDict 是否已分配,myDict 的测试每次都通过。尝试将任何方法传递给 myDict,例如 [myDict count],会给出 exc_bad_access,因为它还没有被分配。所以这是一个无人区。
有没有办法做到这一点?我意识到我可以切换到 NSMutableDictionary,定义它,在循环中添加它,然后测试计数,但这不是我的偏好。