2010-02-09 65 views
1

我有一個包含2個實體的核心數據模型:Game和ScoreTable。遊戲與ScoreTable具有可選關係。我通常檢查,如果一個遊戲做有ScoreTable:核心數據中的可選關係(刪除和檢查)

NSManagedObject *scoreTable = [myGame valueForKey: @"scoreTable"]; 

if (scoreTable == nil) { 
    // wtv 
} 

當我想從遊戲中刪除ScoreTable我就

[context deleteObject: scoreTable]; 

但下一次我檢查scoreTable ==零,它似乎「停下來」是零,好像那裏有東西,但是空的,或者什麼。所以,我正在做的是:

[myGame setValue: nil forKey: @"scoreTable"]; 

不知何故,這感覺不對。還是呢?我不確定我是否應該檢查scoreTable == nil。還有另一種方法來檢查那裏是否有對象?

回答

1

如果零檢查失敗,聽起來好像你沒有從scoreTable返回到遊戲的反向關係。如果缺少inverse,那麼當刪除scoreTable Core Data時,將無法清除與該對象有關的任何懸掛關係。

+0

你絕對是對的:) 謝謝。 –