2017-02-14 4 views
0

Today Data Extension WidgetからCoreDataにアクセスしてデータを表示したいとします。私はすでに、アプリグループを作成し、これを自分のアプリとウィジェットに追加する必要があることを読んでいます。私はすでにこれを行っていますが、今私は次に何をすべきか分かりません。私は古いチュートリアルを見つけましたが、そこで使用されたメソッドは利用できないか、AppDelegateでそれらを見つけることができません。誰でも助けてくれますか?アプリとToday Extensionの間のCoreDataのスウィフト

答えて

3

あなたはFileManagercontainerURL(forSecurityApplicationGroupIdentifier:は、両方のターゲットにコンテナ識別子を渡すとグループ・コンテナのURLを取得する必要があります:

lazy var secureAppGroupPersistentStoreURL : URL = { 
    let fileManager = FileManager.default 
    let groupDirectory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.com.mydomain.myapp")! 
    return groupDirectory.appendingPathComponent("databaseName.sqlite") 
}() 
+0

あなたは両方のアプリと今日の拡張プロジェクトで適切な機能を追加する必要があります:アプリケーショングループを – CZ54

+0

ありがとうございますが、私が言ったように私はチュートリアルや元の投稿を理解することができません。私はあなたのコードを自分のエクステンションにコピーしましたが、私は自分のCoreDataにアクセスするためのさらなる方法を知らない。 –

+0

実際に 'persistentStoreCoordinator'の宣言でストアURLとして' secureAppGroupPersistentStoreURL'を渡すと、アプリケーションと拡張機能の両方からデータにアクセスできるはずです。これは、通常のコアデータの実装との唯一の違いです。 – vadian

関連する問題