2014-01-17 22 views
0

我不斷收到分段故障的從我的用戶MagicalRecord的代碼中:分割故障 - 神奇記錄

-[NSManagedObject(MagicalRecord_DataImport) MR_addObject:forRelationship:] in NSManagedObject+MagicalDataImport.m on Line 144 

我不知道如何複製或修復,雖然在我的代碼的問題。這是我在做什麼:

- (void)saveResources:(NSArray*)resources { 
    NSDictionary *attr = resources[0]; 

    // needs to update the id of _this_ object 
    [self.item importValuesForKeysWithObject:attr]; 
    [[self.item managedObjectContext] MR_saveToPersistentStoreAndWait]; 
} 

這是造成問題的importValuesForKeysWithObject方法。下載完成後調用此方法(AFJSONRequestOperation)。

每當我在本地測試這個,我沒有問題,它只發生在我的用戶每隔一段時間。那麼如何才能弄清楚是什麼導致了分段錯誤並解決了它?

回答

0

我的猜測是你的變量attr包含nil元素,當importValuesForKeysWithObject正在處理它時會導致段錯誤。在傳遞之前,我會先在attr上做一些測試。

+0

我可以看到空值進入它,而不是崩潰。有什麼理由爲什麼它只會有時做到/我如何複製它?在將它傳遞給'importValuesForKeysWithObject'之前,我打印字典,並且我看到「」的一些值。 – RyanJM

+0

我不知道'importValuesForKeysWithObject'是否或如何處理空值,但它們可能是段錯誤的潛在原因。一個簡單的測試就是在將它傳遞給'importValuesForKeysWithObject'之前,從你的字典中刪除所有的空值,看看你是否仍然得到段錯誤。 – Koen

+0

是的,這就是我想我應該做的。今天我會再次推出一個TestFlight,所以我會在本週再看看。如果我再也看不到了,我會將其標記爲正確的答案。謝謝。 – RyanJM