tableView滑动崩溃 failed to obtain a cell from its dataSource

夏建木
2023-12-01

今天写tableView时出现了滑动崩溃问题,并报错误:

*** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITableView.m:7971

2016-07-29 09:17:34.798 优产部分界面[768:14083] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView (<UITableView: 0x7d836600; frame = (0 64; 320 504); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7bf32f60>; layer = <CALayer: 0x7bf32720>; contentOffset: {0, 165.5}; contentSize: {320, 1147.01}>) failed to obtain a cell from its dataSource (<UCStoreDetailsViewController: 0x7be2e350>)'

*** First throw call stack:

(

0   CoreFoundation                      0x00b36494 __exceptionPreprocess + 180

1   libobjc.A.dylib                     0x005f0e02 objc_exception_throw + 50

2   CoreFoundation                      0x00b3632a +[NSException raise:format:arguments:] + 138

3   Foundation                          0x0026c322 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118

4   UIKit                               0x01dea868 -[UITableView _configureCellForDisplay:forIndexPath:] + 228

5   UIKit                               0x01df796b -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 877

6   UIKit                               0x01df7a7d -[UITableView _createPreparedCellForGlobalRow:willDisplay:] + 90

7   UIKit                               0x01dc7b32 -[UITableView _updateVisibleCellsNow:isRecursive:] + 3347

8   UIKit                               0x01de6416 __29-[UITableView layoutSubviews]_block_invoke + 52

9   UIKit                               0x01e016cc -[UITableView _performWithCachedTraitCollection:] + 88

10  UIKit                               0x01de62eb -[UITableView layoutSubviews] + 214

11  UIKit                               0x01d3c3d4 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 810

12  libobjc.A.dylib                     0x00605059 -[NSObject performSelector:withObject:] + 70

13  QuartzCore                          0x06b0a096 -[CALayer layoutSublayers] + 144

14  QuartzCore                          0x06afd8b6 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 388

15  QuartzCore                          0x06afd71a _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26

16  QuartzCore                          0x06aefee7 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 317

17  QuartzCore                          0x06b24847 _ZN2CA11Transaction6commitEv + 561

18  QuartzCore                          0x06b25108 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92

19  CoreFoundation                      0x00a4875e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30

20  CoreFoundation                      0x00a486be __CFRunLoopDoObservers + 398

21  CoreFoundation                      0x00a3e03c __CFRunLoopRun + 1340

22  CoreFoundation                      0x00a3d846 CFRunLoopRunSpecific + 470

23  CoreFoundation                      0x00a3d65b CFRunLoopRunInMode + 123

24  GraphicsServices                    0x06992664 GSEventRunModal + 192

25  GraphicsServices                    0x069924a1 GSEventRun + 104

26  UIKit                               0x01c6beb9 UIApplicationMain + 160

27  ‰ºò‰∫ßÈÉ®ÂàÜÁïåÈù¢                  0x000782aa main + 138

28  libdyld.dylib                       0x03fe2a25 start + 1

)

libc++abi.dylib: terminating with uncaught exception of type NSException



一开始各种找错,没有找到,仔细看了报的错误之后,是一个cell没有包含,就是返回空吧,又看了看代码,发现自己忽略了重要的一行, return cell; 写在了if(!cell)里了,导致了报错!!!可见打印的错误日志一定要细看,问题已经返回给你了,不要忽略。



 类似资料: