我正在Swift中开发一个应用程序。目前,我正在制作一个信息屏幕(法律声明,信用证,文档等),将在主屏幕上以模态方式呈现。
预期的行为是,当按下按钮在Dismiss
中触发InfoViewController
时,模态视图控制器将被解除。
这是我正在尝试使用的代码:
//This is InfoViewController, the swift file used to conorol the info screen.
import UIKit
class InfoViewController: UIViewController {
@IBAction func Dismiss(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: {});//This is intended to dismiss the Info sceen.
println("pressed")
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
这是故事板的布局:
当我按下按钮时,应用程序崩溃并且不会关闭模态视图控制器。
它编译,表明它不是语法错误。
这是LLVM调试器输出:
2014-08-30 20:02:20.571 CryptoCalc [799:244086] 17545849:_UIScreenEdgePanRecognizerEdgeSettings.edgeRegionSize = 13.000000 //删除了无关的内容。 2014-08-30 20:03:03.756 CryptoCalc [799:244086] Interface Builder文件中的未知类InfoViewController。 2014-08-30 20:03:20.485 CryptoCalc [799:244086] - [UIViewController Dismiss:]:无法识别的选择器发送到实例0x14d57990 2014-08-30 20:03:20.489 CryptoCalc [799:244086] *由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [UIViewController Dismiss:]:无法识别的选择器发送到实例0x14d57990' * 第一次抛出调用堆栈: (0x2238be2f 0x2f46bc8b 0x22391179 0x2238f097 0x222c11f8 0x259b9fef 0x259b9f91 0x259a4d13 0x259b99fd 0x259b96d7 0x259b2fa1 0x25989a09 0x25bfbae3 0x259884a1 0x2235257f 0x2235198f 0x2234fff5 0x2229e611 0x2229e423 0x297f80a9 0x259e8485 0x73720 0x7375c 0x2f9f1aaf) libc ++ abi.dylib:以NSException类型的未捕获异常终止
如果您需要更多信息,请与我们联系。非常感谢。
答案 0 :(得分:3)
这里的主要问题是Unknown class InfoViewController in Interface Builder file.
您需要确保(在'自定义类'部分)
1)故事板中的类设置为InfoViewController
2)模块设置为'当前 - 您的项目名称'
屏幕截图包括显示我所指的Interface builder的哪个部分