我的应用程序同时包含基于 Objective-C 和 Swift 的 View Controller 。我正在从我的一个基于 Objective-C 的 View Controller 中以编程方式打开一个基于 Swift 的 View Controller 。我遇到的问题是我无法从我的 Objective-C 代码访问 Swift 变量。
我的 Swift 代码:
@IBOutlet weak var profPicture: UIImageView!
@IBOutlet weak var profVerified: UIImageView!
@IBOutlet weak var profName: UILabel!
var passedUser:PFUser!
我的 Objective-C 代码:
MyProfileViewController *screen = [[MyProfileViewController alloc] initWithNibName:@"Main" bundle:nil];
self.dataPass = screen;
dataPass.profName.text = @"";
screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:screen animated:YES completion:nil];
我可以访问 IBOutlets 之类的 @ 属性,但无法访问和编辑 var 对象。
我这样做是因为当我展示基于 Swift 的 View Controller 时,我想将数据从基于 Objective-C 的 View Controller 传递到基于 Swift 的 View Controller 。
为什么我不能访问 var 对象?
这是我遇到的错误:
错误如下:
Property 'passedUser' not found on object of type 'MyProfileViewController *'
谢谢你抽出时间,丹。
最佳答案
swift 4:
使用@objc关键字访问swift变量。
class Car: NSObject {
@objc let name: String
@objc let numberOfWheels: Int
let manufacturer: String
}
关于ios - 无法从 Objective-C View Controller 访问 Swift var - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33479301/