0

我有一个NSArrayController充满NSMutableDictionary对象。以下代码可以正常工作,但我想摆脱我收到的编译器警告。Collection expression type 'NSManagedObject *' may not respond to 'countByEnumeratingWithState:onjects:count:' 据我了解,我收到此错误是因为数组控制器内部可能还有不同类型的对象,它们没有键值。但就我而言,我只使用可变字典,所以应该没问题。

这是我的代码:

- (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];
}

我怎样才能摆脱这个烦人的警告?

4

1 回答 1

4

你为什么输入a一个NSManagedObject *如果它是一个NSMutableDictionary *

for (NSMutableDictionary *a in imagescontroller.arrangedObjects)

可能是你想要的。

于 2013-02-14T18:06:02.143 回答