致命错误:改变segue
Posted
技术标签:
【中文标题】致命错误:改变segue【英文标题】:Fatal error: to change segue 【发布时间】:2015-06-28 00:09:29 【问题描述】:我的项目是一个带有导航栏和 segue 的简单应用程序,我收到此错误:
fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)
在行中:
cell.valueLabel.text = dictionary.word
线程 1:EXC_BREAKPOINT(代码=1,子代码=0x100239474
应用程序在 iphone 中运行第一个 tableview,但是当我触摸 table view 的任何一行以转到下一个 table view 时,应用程序崩溃。 如果我删除这个开关,segue 就可以工作,我可以看到第二个视图控制器
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! DefinitionTableViewCell
switch indexPath.row
case 0:
cell.fieldLabel.text = "wordLabel"
cell.valueLabel.text = dictionary.word
case 1:
cell.fieldLabel.text = "meaningLabel"
cell.valueLabel.text = dictionary.meaning
default:
cell.fieldLabel.text = ""
cell.valueLabel.text = ""
return cell
任何帮助都非常受欢迎:)
【问题讨论】:
【参考方案1】:我想你已经在func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
中创建了cell
喜欢
var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
请检查 dictionary
的类型,您的 DataModel 的实例(我猜)是否为 Optional
。
【讨论】:
只要更新问题,如果我删除开关的代码,segue 就可以工作了...... 1.您可以只将String
分配给cell.valueLabel.text
,而不是加入dictionary
,以推断错误是否发生在dictionary
。
2.如果它构建&运行没有错误,这意味着你需要检查你的 DataModel 类,Dictionary
(我猜是名字)。以上是关于致命错误:改变segue的主要内容,如果未能解决你的问题,请参考以下文章
Swift 致命错误:在 segue 上展开 Optional 值时意外发现 nil