я получаю Сегментация вина от моих пользователей внутри кода 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
).
Всякий раз, когда я тестирую это локально, у меня нет проблем с ним, и это случается только раз в несколько раз для моих пользователей. Итак, как я могу выяснить, что вызывает ошибку сегментации и исправить ее?
Я вижу, что нулевые значения попадают в него, а не сбой. Есть ли причина, почему это будет делать это иногда или как я могу ее воспроизвести? Я печатаю словарь перед тем, как передать его в importValuesForKeysWithObject', и я вижу «» для некоторых значений. –
RyanJM
Я не знаю, обрабатывает ли «importValuesForKeysWithObject» значение null, но может быть потенциальной причиной segfaults. Легким испытанием было бы удалить все нулевые значения из вашего словаря, прежде чем передавать его в 'importValuesForKeysWithObject', и посмотреть, все ли вы получите segfaults. – Koen
Да, именно так я и решил. Сегодня я снова вытащу TestFlight, поэтому я посмотрю, придет ли уже на этой неделе. Если я не получу больше, я буду отмечать это как правильный ответ. Благодарю. – RyanJM