2011-07-11 180 views
0

全部,核心數據通過實體分類

我在我的程序中實現了核心數據來存儲客戶信息。讓我們調用每個實體「CustomerInformation」。每個「CustomerInformation」實體有三個屬性,「count」,「property2」和「property3」,其中count是該特定實體的數字標識符。

所以我們可以說我有三個 「CustomerInformation」 實體...

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」(2),另外兩個將保持其計數。我現在需要做的是循環遍歷所有實體(在本例中爲三個)並查看缺失值的位置(如果我刪除了「CustomerInformation」(2),則2將是缺失值)。

這是我的想法,但我需要幫助完成它。注意:在for循環的7客戶我想要存儲的最大數量,不用擔心這部分雖然

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似乎是錯誤的做法。相反,您應該記錄您刪除的任何對象的count,以便您可以避免整個問題。當然,當你的數據庫中有七個對象時沒有什麼大不了的,但是當你有成千上萬的對象時它不會工作得很好。

+0

所以說我有這7件事,我刪除了3號,我將如何跟蹤這個? NSUserDefaults中的NSArray? (我可能只是回答了我自己的評論問題 - 讓我知道你是否知道更好的東西)。 – Baub

+0

我在那裏回答了我自己的問題並實施了它。感謝您的正確方向。 – Baub