2011-07-11 4 views
0

すべて、エンティティを介したコアデータのソート

私は顧客情報を保存するために私のプログラムにコアデータを実装しています。各エンティティ "CustomerInformation"を呼び出してみましょう。各 "CustomerInformation"エンティティには、 "count"、 "property2"、および "property3"の3つのプロパティがあります。countは、その特定のエンティティの番号識別子です。

だから私は "CustomerInformation" を削除する場合(2)、他の2つは自分のカウントを保持します

CustomerInformation 
-count //for example, this would be "1" 
-property2 
-property3 
CustomerInformation 
-count //for example, this would be "2" 
-property2 
-property3 
CustomerInformation 
-count //for example, this would be "3" 
-property2 
-property3 

...のは、私は三つの "CustomerInformation" の実体を持っているとしましょう。私がこの時点で行う必要があるのは、すべてのエンティティ(この場合は3つ)をループし、欠落している値がどこにあるかを確認することです(「CustomerInformation」(2)を削除した場合は2が欠損値になります)。

これは私の考えですが、私はそれを完了するための助けが必要です。注:

NSFetchRequest *custRequest = [[NSFetchRequest alloc] init]; 
    ProjectAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *custContext = [appDelegate managedObjectContext]; 

    NSEntityDescription *customerInformation = [NSEntityDescription entityForName:@"CustomerInformation" 
                inManagedObjectContext:custContext]; 
    [custRequest setEntity:customerInformation]; 

    NSError *error; 
    NSArray *array = [custContext executeFetchRequest:custRequest error:&error]; 

    for (int n=0; n<=7; n++) 
    { 
     //here I need it to go through and find the missing 2 
    } 

答えて

1

はあなただけ削除されたオブジェクトのcountを推定するために、データベース全体を検索するのにforループ7は、私が保存したい顧客の最大数で、その部分については心配しないでくださいそれについて間違ったやり方があるようだ。代わりに、削除するオブジェクトのcountを記録して、この問題全体を回避できるようにする必要があります。確かに、データベースに7つのオブジェクトがある場合は大したことではありませんが、何万というものがある場合はうまく機能しません。

+0

私はこれらの7つのものを持っていて、3番を削除すると、どうすればこのことを把握できますか? NSUserDefaultsのNSArray? (私はちょうど私自身のコメント - 質問に答えたかもしれません - あなたが何か良いことを知っているかどうか私に知らせてください)。 – Baub

+0

私は自分自身の質問に答え、それを実装しました。正しい方向へのリードに感謝します。 – Baub

関連する問題