2014-01-17 3 views
0

я получаю Сегментация вина от моих пользователей внутри кода MagicalRecord в:вина Сегментация - Magical Запись

-[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, что вызывает segfaults, когда importValuesForKeysWithObject обрабатывает его. Сначала я проведу тестирование на attr, прежде чем передавать его.

+0

Я вижу, что нулевые значения попадают в него, а не сбой. Есть ли причина, почему это будет делать это иногда или как я могу ее воспроизвести? Я печатаю словарь перед тем, как передать его в importValuesForKeysWithObject', и я вижу «» для некоторых значений. – RyanJM

+0

Я не знаю, обрабатывает ли «importValuesForKeysWithObject» значение null, но может быть потенциальной причиной segfaults. Легким испытанием было бы удалить все нулевые значения из вашего словаря, прежде чем передавать его в 'importValuesForKeysWithObject', и посмотреть, все ли вы получите segfaults. – Koen

+0

Да, именно так я и решил. Сегодня я снова вытащу TestFlight, поэтому я посмотрю, придет ли уже на этой неделе. Если я не получу больше, я буду отмечать это как правильный ответ. Благодарю. – RyanJM

Смежные вопросы