2015-05-07 3 views
0

Я новичок в программировании на iOS, и я работал над старым учебником. Когда я запускаю свое приложение, я все равно получаю сообщение об ошибке. В нем говорится: «Неперехваченное исключение типа NSException». Я очень потерян, из отладчика.Приложение для iOS с Uncaught NSException

2015-05-06 18:55:11.118 Gilligizer[5728:196574] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'executeFetchRequest:error: A fetch request must have an entity.' 
*** First throw call stack: 
(
    0 CoreFoundation      0x00000001112a8c65 __exceptionPreprocess + 165 
    1 libobjc.A.dylib      0x000000010fffcbb7 objc_exception_throw + 45 
    2 CoreData       0x000000010fc55304 -[NSManagedObjectContext executeFetchRequest:error:] + 4740 
    3 CoreData       0x000000010fd6bace __43-[NSFetchedResultsController performFetch:]_block_invoke + 270 
    4 CoreData       0x000000010fd39c30 gutsOfBlockToNSPersistentStoreCoordinatorPerform + 192 
    5 libdispatch.dylib     0x0000000115085614 _dispatch_client_callout + 8 
    6 libdispatch.dylib     0x000000011506b002 _dispatch_barrier_sync_f_invoke + 365 
    7 CoreData       0x000000010fd29ec6 -[NSPersistentStoreCoordinator performBlockAndWait:] + 198 
    8 CoreData       0x000000010fd6b8dc -[NSFetchedResultsController performFetch:] + 572 
    9 Gilligizer       0x000000010e1e3180 -[MasterViewController fetchedResultsController] + 720 
    10 Gilligizer       0x000000010e1e276a -[MasterViewController numberOfSectionsInTableView:] + 58 
    11 UIKit        0x000000010e518b03 -[UITableViewRowData _updateNumSections] + 84 
    12 UIKit        0x000000010e5194f4 -[UITableViewRowData invalidateAllSections] + 69 
    13 UIKit        0x000000010e36477b -[UITableView _updateRowData] + 217 
    14 UIKit        0x000000010e37aa1f -[UITableView numberOfSections] + 27 
    15 UIKit        0x000000010e5810d5 -[UITableViewController viewWillAppear:] + 97 
    16 UIKit        0x000000010e3c0fa1 -[UIViewController _setViewAppearState:isAnimating:] + 487 
    17 UIKit        0x000000010e3ed921 -[UINavigationController _startTransition:fromViewController:toViewController:] + 793 
    18 UIKit        0x000000010e3ee448 -[UINavigationController _startDeferredTransitionIfNeeded:] + 523 
    19 UIKit        0x000000010e3eef0e -[UINavigationController __viewWillLayoutSubviews] + 43 
    20 UIKit        0x000000010e539715 -[UILayoutContainerView layoutSubviews] + 202 
    21 UIKit        0x000000010e30ca2b -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 536 
    22 QuartzCore       0x0000000111b3aec2 -[CALayer layoutSublayers] + 146 
    23 QuartzCore       0x0000000111b2f6d6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380 
    24 QuartzCore       0x0000000111b2f546 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 
    25 QuartzCore       0x0000000111a9b886 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 242 
    26 QuartzCore       0x0000000111a9ca3a _ZN2CA11Transaction6commitEv + 462 
    27 UIKit        0x000000010e28aa2d -[UIApplication _reportMainSceneUpdateFinished:] + 44 
    28 UIKit        0x000000010e28b6f1 -[UIApplication _runWithMainScene:transitionContext:completion:] + 2648 
    29 UIKit        0x000000010e28a0d5 -[UIApplication workspaceDidEndTransaction:] + 179 
    30 FrontBoardServices     0x00000001103a45e5 __31-[FBSSerialQueue performAsync:]_block_invoke_2 + 21 
    31 CoreFoundation      0x00000001111dc41c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12 
    32 CoreFoundation      0x00000001111d2165 __CFRunLoopDoBlocks + 341 
    33 CoreFoundation      0x00000001111d1947 __CFRunLoopRun + 887 
    34 CoreFoundation      0x00000001111d1366 CFRunLoopRunSpecific + 470 
    35 UIKit        0x000000010e289b42 -[UIApplication _run] + 413 
    36 UIKit        0x000000010e28c900 UIApplicationMain + 1282 
    37 Gilligizer       0x000000010e1e15cf main + 111 
    38 libdyld.dylib      0x00000001150b9145 start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
+2

Учиться отлаживать аварии, читая следующее: http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1 – rmaddy

+0

BTW - когда вы отправляете вопрос о сбое, вам нужно для публикации символического отчета о сбоях. И вы также должны включить соответствующий код, вызывающий сбои. – rmaddy

+0

Пожалуйста, отправьте код о 'executeFetchRequest: error' part – Leo

ответ

0

Где-то в вашем коде вы создаете NSFetchRequest. Он должен работать на едином целом ядро ​​данных, поэтому используйте один из следующих способов:

+[NSFetchRequest fetchRequestWithEntityName:] (простой вариант)

-[NSFetchRequest initWithEntityName:]

-[NSFetchRequest setEntity:], где вам нужно, чтобы получить NSEntityDescription откуда-то , Проверьте его заголовки для ваших вариантов.

Например, если у вас есть объект с именем «Account» в вашей модели Core Data, вы можете сделать следующее:

NSFetchRequest *fetch = [NSFetchRequest fetchRequestWithEntityName:@"Account"];

Имейте в виду, что в то время как имя NSManagedObject класса, Xcode создает для вас модель по умолчанию, это может быть изменено (например, чтобы добавить префикс, сделав его XYZAccount), поэтому убедитесь, что вы смотрите на фактическое имя объекта, а не на имя класса.

1

Судя по журналу сбоя, вы пропустили предоставление объекта в своем запросе на выбор данных ядра.

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

  • Нет связанных вопросов^_^