如何通过NSManagedObjects迭代消除警告?

时间:2013-02-14 18:02:14

标签: objective-c cocoa nsmutabledictionary

我有NSArrayControllerNSMutableDictionary个对象。以下代码没有任何问题,但我想摆脱我得到的编译器警告。 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];
}

我怎么能摆脱这个恼人的警告?

1 个答案:

答案 0 :(得分:4)

如果aNSManagedObject *,为什么要键入NSMutableDictionary *

for (NSMutableDictionary *a in imagescontroller.arrangedObjects)

可能就是你想要的。