2016-09-01 4 views
0

私はObjective Cプロジェクトを持っていて、Swift View ControllerからAppDelegateを呼び出そうとしています。このコードは機能していません:SwiftクラスからObjective C AppDelegateをどのように参照していますか?

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

let managedContext = appDelegate.managedObjectContext 
+1

「動作しない」を定義します。ブリッジヘッダーを追加しましたか? – Paulw11

+0

AppDelegateのエラーを取り除く#import "AppDelegate.h"を含むbringingヘッダーを追加しました。今すぐ私はエラーになっています:let managedContext ...インスタンスメンバー 'appDelegate "は、" ViewController "(クラスの名前はViewController.swiftです)には使用できません。 – John

答えて

0

あなたのプロジェクトにブラインドヘッダーを追加しましたか?

これを行う場合は、ブリッジヘッダーに「AppDelegate.h」をインポートするようにしてください。あなたがそれを呼び出すことができるはず迅速クラスの

ザ・:

guard let appDele = UIApplication.sharedApplication().delegate as? AppDelegate else { 
    fatalError("Unable to reference App Delegate, check settings and riding header") 
} 
let managedContext = appDele.managedObjectContext 
+0

"ガード "の原因:連続行の宣言は ':'で区切られなければならず、期待される宣言ERROR MSGS。 – John