Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 在Swift中将数据转发到目标VC(带框架)?_Xcode_Swift_Uiviewcontroller_Segue_Rsbarcodes - Fatal编程技术网

Xcode 在Swift中将数据转发到目标VC(带框架)?

Xcode 在Swift中将数据转发到目标VC(带框架)?,xcode,swift,uiviewcontroller,segue,rsbarcodes,Xcode,Swift,Uiviewcontroller,Segue,Rsbarcodes,我正在编写一个从二维码扫描仪获取数据的应用程序。我只是在实现基本功能,并且有第二个视图控制器,当检测到新的QR码时会触发该控制器。以下代码位于RSBarcodes的自定义视图控制器中,并使用CocoaPods实现 它不会编译时出错 “使用未声明的类型SecondViewController” 我试图公开我的第二个ViewController,重新启动XCode,但没有任何效果。感谢您的帮助。谢谢大家! override public func prepareForSegue(segue: UIS

我正在编写一个从二维码扫描仪获取数据的应用程序。我只是在实现基本功能,并且有第二个视图控制器,当检测到新的QR码时会触发该控制器。以下代码位于
RSBarcodes
的自定义视图控制器中,并使用
CocoaPods
实现
它不会编译时出错

“使用未声明的类型SecondViewController”

我试图公开我的第二个ViewController,重新启动XCode,但没有任何效果。感谢您的帮助。谢谢大家!

override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let destinationVC = segue.destinationViewController as! SecondViewController
    destinationVC.label = "test"  

}
解决方案:


添加到“复制捆绑资源”,然后我的VC立即被编译器识别。

首先,您必须通过检查segue标识符名称来验证要推送到哪个segue。然后,您必须检查是否可以创建destinationVC变量,然后是否可以使用“?”而不是“!”来展开它

override public func prepareForSegue(segue: UIStoryboardSegue, sender:AnyObject?) {
    if segue.identifier == "nameOfMySegue" {
        if let destinationVC = segue.destinationViewController as? SecondViewController {
            destinationVC.label = "test"
        }
    }
}
解决方案:


添加到“复制捆绑资源”,然后我的VC立即被编译器识别。

你也可以发布包含
SecondViewController
声明的代码吗?你看过这篇文章了吗,我的意思是说您是否已在目标成员身份中添加了视图控制器swift文件?它是扩展UIViewController的默认Cocoa Touch类。它没有方法重写,只有标签的IBOutlet。我真的对目标和类似的东西感到困惑,所以这可能是一个问题。类是如何声明的?您的文件可能被命名为
SecondViewController
,但如果您的类是:
class Secon\u ViewController:UIViewController{}
,则仍然没有任何意义。请查看该文件是否与故事板和图像一起添加到副本包资源路径中。我感谢您的回复。但是,这不是关于展开可选类型的问题。我们正在做一个显式的向下转换,它根本不识别SecondViewController。我说这可能是一个可选问题的唯一原因是因为苹果对Swift在使用最新版本的Xcode进行可选解包裹方面做了一些语言更改。我自己在显式向下转换变量方面也有一些问题。这可能不是你的问题,但我觉得这是一个足够简单的代码更改,值得尝试。这一点很好。我只是试了一下,但还是有同样的错误。