今日のウィジェット拡張でコアデータ属性を読み込もうとしています。私はここで多くのウェブサイトや質問を検索しましたが、解決策を見つけることができませんでした!これまでのところ、私は私のアプリにアプリのグループを追加し、その後App Delegate
にこの行を変更します。ウィジェット拡張からコアデータにアクセス
lazy var applicationDocumentsDirectory: NSURL = {
// file. This code uses a directory named "compony.AppName" in the application's documents Application Support directory.
let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
return urls[urls.count-1]
}()
へ:
lazy var applicationDocumentsDirectory: NSURL? = {
return NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.com.myDomain.appgroupID") ?? nil
}()
ので、次のステップは何ですか?ウィジェットセンターからコンテキストエンティティなどにアクセスするにはどうしたらいいですか?身体が私を助けてくれたら嬉しいです。
entity
には、複数のattributes
が1つしかありません。
EDIT
私は
CoreDataStack.swift
を作成し、AppDelegate
から新しいファイルにすべてのコアデータファイルをコピーしました。私は疲れたモデルからデータを取得するために拡張viewDidLoad
で
を私はウィジェット実行したときに何も起こりません::
は、拡張子をウィジェットに自分のデータモデルを追加しました
をcontext = CoreDataStack.defaultStack.managedObjectContext do { request = NSFetchRequest(entityName: "Event") results = try context.executeFetchRequest(request) print(results.count) if results.count > 0 { for item in results as! [NSManagedObject] { let name = item.valueForKey("title") print(name!) } }//end if } catch { print("there is an error for saving") }
すべての必要な手順を踏んだことがありますか?たとえばhttps://www.invasivecode.com/weblog/sharing-data-between-apps-/ –
@LorenzoBoaroこれは私が今まで見た中で最も馬鹿なチュートリアルです!タイトルはコアデータと今日の拡張機能ですが、最後のステップに従うとコアデータは必ずしも良いとは言えません!!!!! !!!使用NSUserDefualts !!!!!!!!!!!!!! –