2014-02-20 2 views
-1

Я пытаюсь создать приложение iOS, которое имеет коллекцию, которая берет информацию с веб-сайта (с JSON) и сохраняет информацию о CoreData.Coredata + CollectionView

У меня есть 2 объекта на CoreData. 1 Названные регионы (которые будут сборниками заголовков). 1 Вызываемые дистрибьюторы (которые будут собирать ячейки).

Чтобы использовать CollectionView + CoreData я видел этот пример: https://github.com/AshFurrow/UICollectionViewExample

Я создал Everthing и работает, но иногда, когда я вращать разделит несколько раз и представление коллекции еще прокручивает я вижу эту ошибку:

*** Terminating app due to uncaught exception 'NSRangeException', reason: 'NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds' 
*** First throw call stack: 
(
    0 CoreFoundation      0x01a9f5e4 __exceptionPreprocess + 180 
    1 libobjc.A.dylib      0x015738b6 objc_exception_throw + 44 
    2 CoreFoundation      0x01a9f3bb +[NSException raise:format:] + 139 
    3 Foundation       0x011a5f62 -[NSRLEArray objectAtIndex:effectiveRange:] + 131 
    4 Foundation       0x011a7b86 -[NSConcreteMutableAttributedString addAttribute:value:range:] + 212 
    5 UIFoundation      0x034aab82 __50-[NSConcreteTextStorage addAttribute:value:range:]_block_invoke + 156 
    6 UIFoundation      0x034aaa65 -[NSConcreteTextStorage addAttribute:value:range:] + 127 
    7 DataDetectorsUI      0x0a7da85c -[DDTextKitOperation _addResultsToAttributes] + 374 
    8 DataDetectorsUI      0x0a7daa82 __46-[DDTextKitOperation doURLificationOnDocument]_block_invoke_2 + 39 
    9 UIFoundation      0x034a9190 -[NSTextStorage(ActorSupport) coordinateAccess:] + 48 
    10 DataDetectorsUI      0x0a7daa54 __46-[DDTextKitOperation doURLificationOnDocument]_block_invoke + 134 
    11 libdispatch.dylib     0x0222d440 _dispatch_barrier_sync_f_slow_invoke + 71 
    12 libdispatch.dylib     0x0223e4b0 _dispatch_client_callout + 14 
    13 libdispatch.dylib     0x0222c75e _dispatch_main_queue_callback_4CF + 340 
    14 CoreFoundation      0x01b04a5e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14 
    15 CoreFoundation      0x01a456bb __CFRunLoopRun + 1963 
    16 CoreFoundation      0x01a44ac3 CFRunLoopRunSpecific + 467 
    17 CoreFoundation      0x01a448db CFRunLoopRunInMode + 123 
    18 GraphicsServices     0x03d569e2 GSEventRunModal + 192 
    19 GraphicsServices     0x03d56809 GSEventRun + 104 
    20 UIKit        0x002e1d3b UIApplicationMain + 1225 
    21 CollectionTest      0x0000934d main + 141 
    22 libdyld.dylib      0x024ce725 start + 0 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

Я создал демо-приложение с Everthing готовы запустить его и проверить ошибки, вы можете скачать его здесь: https://www.dropbox.com/s/cg86896ld6240r5/CollectionTest.zip

Я был бы признателен за любую помощь, если кто-нибудь знает, что совместное uld будет проблемой.

Заранее спасибо.

ответ

0

Вы не используете данные ядра должным образом. Ваши сущности не имеют отношения друг к другу. Вместо этого вы полагаетесь на какой-то внешний ключ. Это не подходит для графиков объектов, таких как базовые данные, и может привести ко всем непредсказуемым ошибкам, в том числе к тем, с которыми вы сталкиваетесь.

Ознакомьтесь с тем, как работают модели Core Data. Обратите особое внимание на главу Relationships and Fetched Properties в Руководство по программированию основных данных.

+0

Привет: Спасибо за ссылку, я посмотрю. Я не отношусь к этой проблеме, потому что в представлении коллекции только берут объекты из объектов Distributors, что сущность Регионов прокомментирована и жестко закодировано имя, указанное в коде. Я думаю, не может быть этой проблемы. – Miguel

+0

Это не проблема с основными данными, это проблема с ярлыками и текстовыми представлениями, пытающимися обнаружить ссылки или другие данные. –

+0

Полезно знать. Не было ясно из вопроса. Благодарю. – Mundi

2

Я не думаю, что это имеет какое-либо отношение к CoreData. Я думаю, что это связано с ошибкой в ​​iOS 7, связанной с doURLificationOnDocument. Мы сталкиваемся с этой же проблемой в нашем приложении, которая не использует данные ядра. Если вы посмотрите на эту ссылку переполнения стека: iOS 7 UITextView link detection crash in UITableView, вы увидите, что кто-то еще жалуется на ту же проблему.

+0

Я нашел хорошее решение и добавил ответ на эту тему. http://stackoverflow.com/a/25718283/1567221 –

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