从Swift中的Objective C Project访问App代理

时间:2016-06-28 09:03:56

标签: ios objective-c swift

我们有一个Objective C项目即将获得一些新功能。这些新功能将在Swift中实现。到目前为止,我们将所有这些都与Swift和Objective C并排工作,并且大部分内容都非常适合实现。

我目前无法完成的一件事是从swift中访问(objc)app委托,特别是它的方法和托管对象上下文。

我试过

let appDelegate = UIApplication.sharedApplication().delegate! as UIApplicationDelegate

没有任何成功。

如何从我的swift代码访问Objective C中编写的应用程序委托,并使用它的方法以及托管对象上下文?

3 个答案:

答案 0 :(得分:4)

使用您的appdelegate类名而不是UIApplicationDelegate

let appDelegate = UIApplication.sharedApplication().delegate! as <<Your Appdelegate Class>>

并在Bridging-Header文件中导入该appdelegate。 “Bridging-Header”用于两个侧桥连接

答案 1 :(得分:1)

你可以试试这个

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

答案 2 :(得分:1)

让appDelegate:AppDelegate = UIApplication.sharedApplication()。委托为!的AppDelegate