解雇Modal View Swift

时间:2014-08-31 00:41:07

标签: xcode debugging swift modal-dialog xcode6

编辑:感谢下面答案背后的人,谁修复了未知类。但是,任何人都可以告诉我,解雇的代码是否正确?我正在度假,在我回来之前无法开始计划。

我正在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.
    }

}

这是故事板的布局:

postimg.org/image/wbozsmtr3/

当我按下按钮时,应用程序崩溃并且不会关闭模态视图控制器。

它编译,表明它不是语法错误。

这是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类型的未捕获异常终止

如果您需要更多信息,请与我们联系。非常感谢。

1 个答案:

答案 0 :(得分:3)

这里的主要问题是Unknown class InfoViewController in Interface Builder file.

您需要确保(在'自定义类'部分)

1)故事板中的类设置为InfoViewController

2)模块设置为'当前 - 您的项目名称'

屏幕截图包括显示我所指的Interface builder的哪个部分

enter image description here