我在尝试addSubView()
进入UITableViewCell
时收到此错误消息
错误消息
2015-05-18 11:26:46.048 xxxxx[1128:437863]*断言失败
-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:],/SourceCache/UIKit/UIKit-3347.44/UITableView.m:6245 2015-05-18
11:26:46.053 DateTick[1128:437863]*由于未被发现而终止应用程序
异常“nsInternalConsistencyException”,原因:“无法
将标识符为AgeCell的单元格出列-必须注册nib或
为标识符初始化或连接情节提要中的原型单元格'
***第一个抛出调用堆栈:(0x1856982d8 0x196ebc0e4 0x185698198 0x18654ced4 0x18a251e84 0x100094c20 0x1000095070 0x18a3d9a68
0x18a3cd890 0x18a1b9268 0x18a0d5760 0x189a1de1c 0x189a18884
0x189a18728 0x189a17ebc 0x189a17c3c 0x189a11364 0x1856502a4
0x18564d230 0x18564d610 0x1855792d4 0x18ed8f6fc 0x18a13efac
0x1000c0a9c 0x19753aa08)libc++abi.dylib:以未捕获的终止
NSException类型的异常
我已经在标识符中声明了
我的代码:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("AgeCell", forIndexPath: indexPath) as! UITableViewCell //1
let slider = RangeSlider(frame:cell.bounds)
slider.minimumValue = 1;
slider.selectedMinimumValue = 2;
slider.maximumValue = 10;
slider.selectedMaximumValue = 8;
slider.minimumRange = 2;
slider.addTarget(self, action:"updateRangeLabel", forControlEvents:UIControlEvents.ValueChanged)
cell.addSubview(slider)
return cell
}
顺便说一下,我的
AgeCell
是一个静态单元,而不是动态单元。 最佳答案
Swift的语法是
let nib = UINib(nibName: "AgeCell", bundle: nil)
self.tableView.registerNib(nib, forCellReuseIdentifier:"AgeCell")
关于ios - >-[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]中的断言失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30294656/