2011-04-03 58 views
0

Hia,獲得了一對一的關係,用於字符和項目。一個字符可以容納特定的項目,其他項目可以使用相同的項目。 該CharInfo定義如下:核心數據:從商店獲取數據時發生多次崩潰

@property (nonatomic, retain) ItemInfo * slotEar; 

CharInfo.slotEar是對項的引用。它是可選的,最小計數1,最大計數1和刪除規則Nulify。 ItemInfo定義爲:

@property (nonatomic, retain) NSSet* slotEar; 

ItemInfo.slotEar是炭的參考。它是可選的,一對多和刪除規則Nulify。

他們互相參考。 有一個額外的類與數據一起工作。它也支持參考,並提供它用於存儲。

ItemInfo *slotEar; 

CharInfo達到節約像在此之前創建的:

當我保存CharInfo,我在aproviate插槽設置ItemInfo(從我的結構)。

CharInfo *charInfo = [NSEntityDescription 
         insertNewObjectForEntityForName:@"CharInfo" 
         inManagedObjectContext:managedObjectContext]; 
charInfo.slotEar = currentChar.slotEar; 

保存上下文工作。

當我嘗試從商店加載CharInfo時,它從現在起大部分時間都有效。重新啓動後,他確實在這條線上墜毀。

curentChar.slotEar = charInfo.slotEar; 

如果沒有項目引用(零),那麼一切都很好。

不幸的是,墜機事件更加暫時停止。沒有錯誤發生,他只是停在調試器中的那一行,鏈接旁邊的綠色說明中寫道:EXC_BAD_ACCESS

似乎是引用我保存或我試圖從CharInfo中取出它的方式有問題我的班級。任何想法?

截圖加入: XCode4 AppCrash

+0

你是否啓用NSZombieEnabled?當崩潰發生時,您能向我們展示調用堆棧嗎? – 2011-04-03 14:36:44

+0

我有NSZombiesEnabled。讓我拍一個屏幕快照。編輯:這裏是實際允許讀取東西的全尺寸版本。 http://www.codebaker.de/L1AppCrash.png – 2011-04-03 14:48:13

+0

甜蜜,一款遊戲!好吧,如果你沒有設置slotEar它是否工作?它只是這個屬性還是它只是第一次發生和應用程序崩潰? – 2011-04-03 16:46:39

回答

0

與核心數據或工人類實例變量沒有錯誤,但與6個整數填充有100個整數的int數組。