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 に答える