我在Appdelegate
类中有以下代码,并希望在Objective C文件中访问该代码,因为我已经创建了适用于所有方法的Bridging文件。
public var loggedInUserModelObject = LoggedInUserModel(userDict:[String:Any]())
但是当我尝试在目标C类中访问loggedInUserModelObject
变量时,它会显示我的错误。
答案 0 :(得分:3)
您使用的是swift4吗?访问变量的规则在swift 4中已经改变。而不是在swift类中使用@objc前缀使用@objcMembers。这会将所有变量暴露给目标c类。示例如下。
@objcMembers class AppDelegate:UIResponder,UIApplicationDelegate,UISplitViewControllerDelegate
如果要将单个varialbe暴露给swift类,请在变量之前使用@objc,如下所示的代码。
@objc public var loggedInUserModelObject:NSString?