Завершение с необработанным исключением типа NSException Xcode - PullRequest
0 голосов
/ 09 марта 2019

У меня проблема, когда я следую этому учебнику. Не работает Может кто-нибудь помочь мне исправить эту ошибку? В этом руководстве используются Swift 4, iOS 11 и Xcode 9, но я использовал iOS 12 и Xcode 10.1. Это вызвало проблему? Потому что я просто правильно следовал учебнику.

Вот сообщение об ошибке:

2019-03-09 22:27:39.775603+0700 Ratings[667:8658] libMobileGestalt MobileGestalt.c:890: MGIsDeviceOneOfType is not supported on this platform.
2019-03-09 22:27:40.020185+0700 Ratings[667:8658] *** Assertion failure in -[UITableView _dequeueReusableCellWithIdentifier:forIndexPath:usingPresentationValues:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore_Sim/UIKit-3698.93.8/UITableView.m:8054
2019-03-09 22:27:40.062689+0700 Ratings[667:8658] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier PlayerCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010ed561bb __exceptionPreprocess + 331
    1   libobjc.A.dylib                     0x000000010d399735 objc_exception_throw + 48
    2   CoreFoundation                      0x000000010ed55f42 +[NSException raise:format:arguments:] + 98
    3   Foundation                          0x000000010cd9c877 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 194
    4   UIKitCore                           0x00000001119ec5b1 -[UITableView _dequeueReusableCellWithIdentifier:forIndexPath:usingPresentationValues:] + 868
    5   UIKitCore                           0x00000001119ec219 -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:] + 91
    6   Ratings                             0x000000010ca6f950 $S7Ratings21PlayersViewControllerC05tableC0_12cellForRowAtSo07UITableC4CellCSo0jC0C_10Foundation9IndexPathVtF + 240
    7   Ratings                             0x000000010ca6fd9c $S7Ratings21PlayersViewControllerC05tableC0_12cellForRowAtSo07UITableC4CellCSo0jC0C_10Foundation9IndexPathVtFTo + 108
    8   UIKitCore                           0x0000000111a0766e -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 771
    9   UIKitCore                           0x0000000111a07bfb -[UITableView _createPreparedCellForGlobalRow:willDisplay:] + 73
    10  UIKitCore                           0x00000001119cec36 -[UITableView _updateVisibleCellsNow:isRecursive:] + 2863
    11  UIKitCore                           0x00000001119ef8ee -[UITableView layoutSubviews] + 165
    12  UIKitCore                           0x0000000111cad795 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1441
    13  QuartzCore                          0x0000000113235b19 -[CALayer layoutSublayers] + 175
    14  QuartzCore                          0x000000011323a9d3 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 395
    15  QuartzCore                          0x00000001131b37ca _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 342
    16  QuartzCore                          0x00000001131ea97e _ZN2CA11Transaction6commitEv + 576
    17  UIKitCore                           0x00000001117de2d0 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 139
    18  CoreFoundation                      0x000000010ecbb62c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
    19  CoreFoundation                      0x000000010ecbade0 __CFRunLoopDoBlocks + 336
    20  CoreFoundation                      0x000000010ecb5654 __CFRunLoopRun + 1284
    21  CoreFoundation                      0x000000010ecb4e11 CFRunLoopRunSpecific + 625
    22  GraphicsServices                    0x0000000116f541dd GSEventRunModal + 62
    23  UIKitCore                           0x00000001117c381d UIApplicationMain + 140
    24  Ratings                             0x000000010ca6e547 main + 71
    25  libdyld.dylib                       0x00000001102d0575 start + 1
    26  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Вы можете найти мой исходный код на моем репозитории github здесь .

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

Пожалуйста, внимательно прочитайте сообщение об ошибке. Наиболее значимые части

не удалось удалить из очереди ячейку с идентификатором PlayerCell

и строка перед строкой NSAssertionHandler handleFailureInMethod, указывающей, где произошла ошибка:

0x00000001119ec5b1 - [UITableView _dequeueReusableCellWithIdentifier: forIndexPath: usingPresentationValues:] + 868

Это означает, что идентификатор повторного использования ячейки табличного представления в Интерфейсном Разработчике не задан или не соответствует идентификатору, указанному в cellForRow, в вашем случае простая опечатка.

0 голосов
/ 09 марта 2019

Вы определили идентификатор ячейки как PlayersCell в раскадровке.измените его на PlayerCell

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...