【发布时间】:2016-02-02 10:27:23
【问题描述】:
我有一个包含基于 Objective-C 和 Swift 的视图控制器的应用程序。我正在从我的一个基于 Objective-C 的视图控制器中以编程方式打开一个基于 Swift 的视图控制器。我遇到的问题是我无法从我的 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 的视图控制器时,我想将数据从基于 Objective-C 的视图控制器传递到基于 Swift 的视图控制器中。
为什么我不能访问 var 对象?
这是我得到的错误:
错误如下:
在类型的对象上找不到属性“passedUser” 'MyProfileViewController *'
感谢您抽出宝贵时间,丹。
【问题讨论】:
-
您在哪一行出现错误?错误信息是什么?
-
@Sulthan 我更新了我的问题。
-
你没有声明它们
public。 -
@HermannKlecker 现在试过了,还是报同样的错误。
-
@Sulthan 请重新发布您的原始答案,它确实有效,我只是遇到了一些 Xcode 缓存问题。所以我清理了 Xcode 和我的项目并再次尝试了你的答案,它成功了!
标签: ios objective-c swift properties var