【发布时间】:2018-08-18 19:14:34
【问题描述】:
我有一个这样声明的变量:
private var theText = String()
private var aId = String()
然后我执行一个获取请求并希望将其加载到该变量中:
let predicateA = NSPredicate(format: "active == %@", true as CVarArg);
let predicateB = NSPredicate(format: "theId == %@", aId);
let andPredicate = NSCompoundPredicate(type: NSCompoundPredicate.LogicalType.and, subpredicates: [predicateA, predicateB]);
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext;
let requestData = NSFetchRequest<NSFetchRequestResult>(entityName: "DataTable");
requestData.predicate = andPredicate;
do
{
let results = try context.fetch(requestData);
dataactivitiesid = results.first
// let resultset = results as! [NSManagedObject];
/* for data in results
{
// let testyId: Any? = (data as AnyObject).value(forKey: "testyId");
} */
}
catch
{
print("Error in fetching data");
}
我是否需要像上面注释的代码那样循环遍历结果集,或者因为我知道它只返回一行,我可以使用 .first 吗?提前致谢。
【问题讨论】:
标签: ios iphone swift core-data swift3