访问Swift public Var到Objective c类

时间:2018-04-20 06:53:43

标签: objective-c iphone swift

我在Appdelegate类中有以下代码,并希望在Objective C文件中访问该代码,因为我已经创建了适用于所有方法的Bridging文件。

public var loggedInUserModelObject = LoggedInUserModel(userDict:[String:Any]())

但是当我尝试在目标C类中访问loggedInUserModelObject变量时,它会显示我的错误。

enter image description here 我在课前和变量之前使用@objC但没有成功。 如何访问目标c文件中的公共变量

1 个答案:

答案 0 :(得分:3)

您使用的是swift4吗?访问变量的规则在swift 4中已经改变。而不是在swift类中使用@objc前缀使用@objcMembers。这会将所有变量暴露给目标c类。示例如下。

@objcMembers class AppDelegate:UIResponder,UIApplicationDelegate,UISplitViewControllerDelegate

如果要将单个varialbe暴露给swift类,请在变量之前使用@objc,如下所示的代码。

@objc public var loggedInUserModelObject:NSString?