【发布时间】:2015-05-18 03:28:10
【问题描述】:
我在尝试将 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] * 由于未捕获而终止应用程序 异常'NSInternalInconsistencyException',原因:'无法 使用标识符 AgeCell 出列一个单元格 - 必须注册一个 nib 或一个 标识符的类或连接故事板中的原型单元' *** 第一次抛出调用堆栈:(0x1856982d8 0x196ebc0e4 0x185698198 0x18654ced4 0x18a251e84 0x100094c20 0x100095070 0x18a3d9a68 0x18a3cd890 0x18a1b9268 0x18a0d5760 0x189a1de1c 0x189a18884 0x189a18728 0x189a17ebc 0x189a17c3c 0x189a11364 0x1856502a4 0x18564d230 0x18564d610 0x1855792d4 0x18ed8f6fc 0x18a13efac 0x1000c0a9c 0x19753aa08) libc++abi.dylib: 以未捕获的方式终止 NSException 类型的异常
我已经在 UITableViewCell 标识符中声明了 AgeCell
我的代码:
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
}
P.S:顺便说一句,我的 UITableViewController 是静态单元格,而不是动态单元格。
【问题讨论】:
-
已经在 stackoverflow 中完成,仍然无法正常工作。发现这个错误已经 3 天了。
-
您是否按照错误说明进行操作?您是否使用标识符“AgeCell”注册了一个单元格(大小写很重要)?
标签: ios uitableview swift xcode6