【发布时间】:2016-07-23 20:39:21
【问题描述】:
我正在尝试在今天的小部件扩展中读取核心数据属性。我在这里搜索了很多网站和问题,但我找不到解决方案!到目前为止,我将应用组添加到我的应用中,然后在 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。
编辑
我创建了一个
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") }
【问题讨论】:
-
您是否遵循了所有必要的步骤?例如invasivecode.com/weblog/…
-
@LorenzoBoaro 这是我见过的最愚蠢的教程!标题是关于核心数据和今天的扩展,但是当你遵循最后一步时!它说,核心数据并不总是好的!!!!!!!!!使用 NSUserDefualts !!!!!!!!!!!!!!!
标签: ios iphone swift core-data