我正在使用此处提供的示例,并在常规 UITableView 中使用了代码:http: //tirania.org/monomac//archive/2012/Jan.html
我认为一切都很好,直到我添加了很多消息。然后,当屏幕上的消息太多时,我看到它崩溃(似乎是单元重用问题)。
我的主要问题是堆栈跟踪几乎什么也没说,所以有人在常规 UITableView 中使用此代码并想分享一些代码吗?
下面是我的 GetCell 方法和堆栈跟踪:
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath) { ChatMessage 消息 = _items[indexPath.Row]; bool isLeft = msg.User.UserId != _controller._gamebackend.GetLocalUser().UserId; var cell = tableView.DequeueReusableCell (isLeft ? BubbleCell.KeyLeft : BubbleCell.KeyRight) as BubbleCell; 如果(单元格 == 空) 单元格 = 新的 BubbleCell (isLeft); cell.Update (GetBubbleText(msg)); cell.SelectionStyle = UITableViewCellSelectionStyle.None; 返回单元格; }
2 libsystem_c.dylib 0x31f247ed _sigtramp + 48 6 月 24 日 00:27:53 未知 3 基金会 0x3716a137 probeGC + 62 6 月 24 日 00:27:53 未知 4 基础 0x3718983b -[NSConcreteMapTable removeObjectForKey:] + 34 6 月 24 日 00:27:53 未知 5 UIKit 0x353e13a1 -[_UIImageViewPretiledImageWrapper dealloc] + 80 6 月 24 日 00:27:53 未知 6 libobjc.A.dylib 0x34abe175 _objc_rootRelease + 36 6 月 24 日 00:27:53 未知 7 libobjc.A.dylib 0x34abfe57 objc_release + 38 6 月 24 日 00:27:53 未知 8 libobjc.A.dylib 0x34abeead _ZN12_GLOBAL__N_119AutoreleasePoolPage3popEPv + 224 6 月 24 日 00:27:53 未知 9 libobjc.A.dylib 0x34abedc9 _objc_autoreleasePoolPop + 12 6 月 24 日 00:27:53 未知 10 CoreFoundation 0x32a6dcff _CFAutoreleasePoolPop + 18 6 月 24 日 00:27:53 未知 11 QuartzCore 0x31fba91d _ZN2CA7Display11DisplayLink8dispatchEyy + 340 6 月 24 日 00:27:53 未知 12 QuartzCore 0x31fba7c5 _ZN2CA7Display16IOMFBDisplayLink8callbackEP21__IOMobileFramebufferyyyPv + 60 6 月 24 日 00:27:53 未知 13 IOMobileFramebuffer 0x32ba8001 IOMobileFramebufferVsyncNotifyFunc + 156 6 月 24 日 00:27:53 未知 14 IOKit 0x34e3d60d IODispatchCalloutFromCFMessage + 188 6 月 24 日 00:27:53 未知 15 CoreFoundation 0x32ae6f13 __CFMachPortPerform + 362 6 月 24 日 00:27:53 未知 16 CoreFoundation 0x32af1523 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38 6 月 24 日 00:27:53 未知 17 CoreFoundation 0x32af14c5 __CFRunLoopDoSource1 + 140 6 月 24 日 00:27:53 未知 18 CoreFoundation 0x32af0313 __CFRunLoopRun + 1370 6 月 24 日 00:27:53 未知 19 CoreFoundation 0x32a734a5 CFRunLoopRunSpecific + 300 6 月 24 日 00:27:53 未知 20 CoreFoundation 0x32a7336d CFRunLoopRunInMode + 104 6 月 24 日 00:27:53 未知 21 GraphicsServices 0x32bc0439 GSEventRunModal + 136 6 月 24 日 00:27:53 未知 22 UIKit 0x35052cd5 UIApplicationMain + 1080