0

問題があります。コアデータを介してフェッチされたデータには、レコードの数が含まれていません。アプリケーションが最初に実行されるとき、count の値は 0 です。レコードがフェッチされると、count の値は no と等しくなります。レコードの。ここで、カウントの値をゼロにリセットしたいと思います。あなたの親切な提案が必要です。

NSFetchRequest *fetchRequest = [NSFetchRequest  fetchRequestWithEntityName:@"Article"];
NSUInteger count = [self.managedObjectContext countForFetchRequest:fetchRequest error:&error];
if(count == 0)
    {
     NSArray *array = [json valueForKey:@"Artikler"];
     for(id key in array){
     Article *article = [NSEntityDescription insertNewObjectForEntityForName:@"Article" inManagedObjectContext:context];
     article.articleId = [NSNumber numberWithInt:[[key valueForKey:@"Id"]intValue]];       
            if([key valueForKey:@"Name"]== [NSNull null])
                article.name = @"Tittel";
            else
                article.name = [key valueForKey:@"Name"];
}}
4

1 に答える 1

0

これはあなたのためのシンプルなロジックです。

すべてのデータを追加NSMutableArray

配列内のレコード数をカウントしたい場合はmyArray.count、coreData から取得したこの戻りレコード数を記述します。

ゼロ値をリセットする場合は、次のコードを記述します

if(myAraay.count > 0)
  [myArray removeAllObjects];

このコードは配列からすべてのデータを削除するため、配列には値がありません。

それからあなたが書くとき、それはゼロmyArray.countを与えます。

于 2013-03-24T10:30:29.000 に答える