有什么建议?我已尝试过其他一些有这个问题的帖子,但似乎没什么用.
我想不出我可能会给出一个零输出Swift没有预料到的地方.
overrIDe func tableVIEw(tableVIEw: UItableVIEw?,cellForRowAtIndexPath indexPath: NSIndexPath?) -> UItableVIEwCell? { let CellID: Nsstring = "Cell" var cell: UItableVIEwCell = tableVIEw?.dequeueReusableCellWithIDentifIEr(CellID) as UItableVIEwCell if let ip = indexPath { var data: NSManagedobject = myCustomers[ip.row] as NSManagedobject var addno = data.valueForKeyPath("custaddno") as String var addname = data.valueForKeyPath("custaddfirstline") as String cell.textLabel.text = "\(addno) \(addname)" var jcost = data.valueForKeyPath("custjobcost") as float var jfq = data.valueForKeyPath("custjobfq") as float var jfqtype = data.valueForKeyPath("custjobfqtype") as String cell.detailTextLabel.text = "Charge: \(jcost) to be done every \(jfq) \(jfqtype)" } return cell}解决方法 问题
您可能忘记在之前为单元标识符注册类.请参阅dequeueReusableCellWithIDentifIEr的文档::
总结discussion
Prior to de@R_714_4403@ any cells,call this method or the
registerNib:forCellReuseIDentifIEr:
method to tell the table vIEw how to create new cells. If a cell of the specifIEd type is not currently in a reuse queue,the table vIEw uses the provIDed information to create a new cell object automatically.该方法返回nil然后Swift无法隐式解包可选.
解
在代码中
要解决这个问题,你可以在vIEwDIDLoad中调用registerClass:forCellReuseIDentifIEr :(见docs),就像这样……
overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() self.tableVIEw.registerClass(UItableVIEwCell.self,forCellReuseIDentifIEr: "Cell")}在Interface Builder中
…或者,如果您正在使用Storyboard,则在选择UItableVIEwCell原型时,在属性检查器中直接在Interface Builder中进行设置:
以上是内存溢出为你收集整理的uitableview – 当我尝试在swift中加载我的tableview时,为什么会出现EXC_BAD_INSTRUCTION错误?全部内容,希望文章能够帮你解决uitableview – 当我尝试在swift中加载我的tableview时,为什么会出现EXC_BAD_INSTRUCTION错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)