2016-06-28 93 views
2

我們有一個Objective C項目,它即將獲得一些新功能。這些新功能將在Swift中實施。到目前爲止,我們已經將所有這些工作與Swift和Objective C並行工作,並且大部分工作都非常愉快。從Swift目標C項目訪問應用程序委託

我目前無法完成的一件事是從swift中訪問(objc)應用程序委託,特別是它的方法和託管對象上下文。

我試圖

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

沒有任何成功。

如何從我的swift代碼訪問在Objective C中編寫的應用程序委託並使用它的方法以及託管對象上下文?

+0

你不應該在應用程序委託中真正擁有核心數據棧... – Wain

回答

3

使用您的AppDelegate類名稱,而不是UIApplicationDelegate

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

,並導入橋接,頭文件的appdelegate。 「橋接報頭」 用於兩側橋連接

+0

應用程序委託類(<< Your Appdelegate Class >>)似乎是未知的,因爲如果我這樣做,它被稱爲未知類型 – Exinferis

+0

「Bridging-Header」用於兩側的橋接連接,因此在Bridging-Header文件中導入該appdelegate。 – Ammaiappan

1

你可以試試這個

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

1

讓的appDelegate:AppDelegate中= UIApplication.sharedApplication()委託作爲! AppDelegate

+0

在這種情況下,「AppDelegate」似乎是未知類型 – Exinferis

+0

我用作! AppDelegate(它應該是你的appdelegate類名)。 –

相關問題