我有NSArrayController
个NSMutableDictionary
个对象。以下代码没有任何问题,但我想摆脱我得到的编译器警告。 Collection expression type 'NSManagedObject *' may not respond to 'countByEnumeratingWithState:onjects:count:'
据我所知,我得到这个错误,因为数组控制器COULD内部也有不同类型的对象没有键值。但在我的情况下,我只使用可变字典,所以它应该没问题。
这是我的代码:
- (IBAction)getlist:(id)sender{
checkedchecks = 0;
for (NSManagedObject *a in imagescontroller.arrangedObjects)
{
for (NSString* key in a) {
if ([[NSString stringWithFormat:@"%@",[a valueForKey:key]] isEqualToString: @"1"])
{
checkedchecks += 1;
}
}
}
NSAlert *alert = [[NSAlert alloc] init] ;
[alert setMessageText:[NSString stringWithFormat:@"%ld",(long)checkedchecks ]];
[alert runModal];
}
我怎么能摆脱这个恼人的警告?
答案 0 :(得分:4)
如果a
为NSManagedObject *
,为什么要键入NSMutableDictionary *
?
for (NSMutableDictionary *a in imagescontroller.arrangedObjects)
可能就是你想要的。