簡體   English   中英

以未捕獲的 NSException Xcode 類型異常終止

[英]Terminating with uncaught exception of type NSException Xcode

我在學習教程時遇到了問題。 它不起作用。 誰能幫我解決這個錯誤? 本教程使用 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庫 在這里

您在情節PlayersCell中將單元標識符定義為PlayersCell 將其更改為PlayerCell

請仔細閱讀錯誤信息。 最重要的部分是

無法將帶有標識符 PlayerCell 的單元格出列

以及NSAssertionHandler handleFailureInMethod之前的行,指示錯誤發生的位置:

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

這意味着 Interface Builder 中表視圖單元格的重用標識符未設置或與cellForRow中指定的標識符不匹配,這是一個簡單的錯字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM