尝试将字符串从一个视图控制器传递到另一个视图控制器(MoreDetailViewController)
想出这个错误:
Interface Builder文件中的未知类MoreDetailViewController。 无法将'UIViewController'类型的值(0x10f4ae308)转换为'ParseStarterProject_Swift.MoreDetailViewController'(0x10d512060)。 (lldb)
很抱歉,如果这很明显,但我最近才开始编码。谢谢! :)
代码:
var foo = {
bar1 : function () {
},
bar2 : function () {
return function () {
// bar1(); pass bar1 through here ... this.bar1 ?
}
}
答案 0 :(得分:2)
您的第二个视图控制器是否在Interface Builder中正确设置为MoreDetailViewController
?
您可以轻松查看:打开.xib或.storyboard文件,选择第二个视图控制器,然后在Identity Inspector(右侧面板,第三个选项卡)上输入您的班级名称。
答案 1 :(得分:1)
错误只是说segue目标视图控制器不是MoreDetailViewController
。您也不应该强制打开它,在这种情况下,如果对象不正确,它将崩溃。
if segue.identifier == "showDetail" {
if let vc = segue.destinationViewController as? MoreDetailViewController {
vc.receivedId = selectedId
}
}
没有看到以前的答案是完全相同的代码。对不起。
答案 2 :(得分:0)
试试这个:
if segue.identifier == "showDetail"
{
if let detailController = segue.destinationViewController as? MoreDetailViewController
{
detailController.receivedId = selectedId
}
}
注意:不要忘记将viewcontroller类设置为MoreDetailViewController