我创建了一个用swift编码的新xib,其中调用此xib的代码是从objective-c中已经创建的项目完成的,我想要的是将一个字符串从swift文件传递到之前的objective-c视图。我尝试过NSUserDafaults,没有真正的运气,我曾想过制作一个全局变量并用新代码设置它,问题是我对obj-c并不熟悉。你能帮助我实现这个目标吗?
答案 0 :(得分:0)
以下是如何在Objective-C类中分配属性并在swift类中分配它。
在.h文件中的obj-c类(在本例中名为myObjClass)中的声明了一个NSString属性:
@property (nonatomic, strong) NSString *myString;
然后在你的swift类中,在呈现视图控制器之前分配字符串,如下所示:
let myObjClass = self.storyboard?.instantiateViewControllerWithIdentifier("myObjClass") as? MyObjClass
// set its property
myObjClass.myString = "I am passing a string from Swift to Obj-C!"
self.navigationController?.pushViewController(myObjClass!, animated: true)
所以在你的myObjClass viewDidLoad方法中,你可以调用它,它应该打印你的字符串:
-(void) viewDidLoad {
NSLog(@"My String: %@",self.myString);
}