【发布时间】:2016-08-10 12:31:13
【问题描述】:
我正在将 CoreData 添加到我的应用程序中。简单的获取是可以的,但是当我尝试使用谓词获取数据时,我在AppDelegate 中遇到异常。
func fetchWithPredicate(table: String, pred: String)->NSArray
{
var appDel : AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate);
var context : NSManagedObjectContext = appDel.managedObjectContext
var request = NSFetchRequest(entityName: table)
request.predicate = NSPredicate(format: pred)//exception occurs on this string
request.returnsObjectsAsFaults = false
var results: NSArray = NSArray()
do{
results = try context.executeFetchRequest(request)
}
catch{}
return results
}
我的谓词如下所示:"routeFormed == %@"+route.identifier!,其中route.identifier 是String。我应该向AppDelegate 或我的实体添加一些东西吗?另外,我用 sqlitebrowser 打开了.sqlite 文件,我应该使用可见名称添加谓词还是在数据库中看到的谓词(i.e. "routeFormed" or "ZROUTEFORMED")?
【问题讨论】:
标签: ios swift core-data nspredicate