2017-10-09 224 views
0

我在我的项目中使用了一个表格视图,crashlytics报告显示在我的cellForRowAtIndexPath函数中的大括号正好无法帮助我找到该错误。我无法在我的设备或模拟器上重现此错误。堆栈跟踪位于下方,cellForRowAtIndexPath代码作为图像附加。CellForRowAtIndexPath在花括号上崩溃

代码 cellForRowAtIndexPath

Crashlytics栈跟踪

Crashed: com.apple.main-thread 
0 Synkers      0x104407d20 specialized HomeScreenViewController.tableView(UITableView, cellForRowAt :  IndexPath) -> UITableViewCell (HomeScreenViewController.swift:208) 
1 Synkers      0x104404134 @objc HomeScreenViewController.tableView(UITableView, cellForRowAt : IndexPath) ->  UITableViewCell (HomeScreenViewController.swift) 
2 UIKit       0x18a421474 -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 668 
3 UIKit       0x18a4219d8 -[UITableView _createPreparedCellForGlobalRow:willDisplay:] + 80 
4 UIKit       0x18a401670 -[UITableView _updateVisibleCellsNow:isRecursive:] + 2140 
5 UIKit       0x18a1bcf10 -[UITableView layoutSubviews] + 140 
6 UIKit       0x18a0e9000 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1256 
7 QuartzCore      0x184cb90b4 -[CALayer layoutSublayers] + 184 
8 QuartzCore      0x184cbd194 CA::Layer::layout_if_needed(CA::Transaction*) + 332 
9 QuartzCore      0x184c2bf24 CA::Context::commit_transaction(CA::Transaction*) + 336 
10 QuartzCore      0x184c52340 CA::Transaction::commit() + 540 
11 UIKit       0x18a0de884 _afterCACommitHandler + 256 
12 CoreFoundation     0x180c838b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 
13 CoreFoundation     0x180c81270 __CFRunLoopDoObservers + 412 
14 CoreFoundation     0x180c8182c __CFRunLoopRun + 1292 
15 CoreFoundation     0x180ba22d8 CFRunLoopRunSpecific + 436 
16 GraphicsServices    0x182a33f84 GSEventRunModal + 100 
17 UIKit       0x18a14f880 UIApplicationMain + 208 
18 Synkers      0x104215ba4 main (main.m:14) 
19 libdyld.dylib     0x1806c656c start + 4 
+2

请添加你的代码而不是代码图像。并提及您的应用在哪一行崩溃。 –

+0

我假设你的代码与设备上部署的代码不同步。 – luk2302

+0

我添加了图片来显示代码行;该应用程序坠毁在208行。@dahiya_boy –

回答

-3

这有什么待办事项与错误,但因为我的名声太低了,我得写一个的answere :

绝不强制取消单元格!

...forIndexPath: indexPath) as! ... 

这可能会导致错误,甚至崩溃

+2

不是。如果程序员确信它具有适当的类型,强制转换单元格是可以接受的。如果它然后崩溃,这是一个必须考虑的错误。无论如何,只要你没有别的事情,你可以并且可能应该强制解包/施放。如果你作为程序员不能回答这个问题:“如果它没有类型会发生什么”,“如果我的应用程序中捆绑的图像无法找到,应该发生什么”的崩溃是正确的。这样你至少意识到有一个错误。 – luk2302