将数据从Objective C中的视图控制器传递到Swift中的控制器

时间:2014-12-30 23:51:57

标签: ios objective-c swift

我正在尝试将目标C中编写的“pictureView”视图控制器中的值传递给使用swift编写的“profileView”视图控制器。我正在尝试使用以下代码准备segue方法

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"unwindToProfileView"]){
    profileView *controller = (profileView *)segue.destinationViewController;
    controller.valueToPass = "PassedValue";
   }
}

我遇到的问题是当从目标C中的上述方法调用时,无法识别“profileView”视图控制器,并且xcode引发错误。我不确定这是否是将数据从目标C传输到swift视图控制器的正确方法,或者我是否需要在header或profileView.swift文件中执行某些操作。

希望这不是重复。我无法找到有关从objc VC到swift VC传输数据的任何信息。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

添加一个Objective-C Bridging Header并导入" profileView"在那个桥接头中查看控制器。然后,您就可以参考" profileView"查看控制器。

答案 1 :(得分:0)

这不是我的问题的真正答案,我从来没有真正按照我想要的方式工作。但我解决问题的方法是在Obj C中创建Swift能够看到的全局变量。您只需确保全局变量包含在桥接头中。