coredata学习总结(四)

来源:互联网 发布:密码破解器软件 编辑:程序博客网 时间:2024/06/05 06:05

Fetching Objects

既然数据在core data已经持久化保存了,你就可以使用NSFetchRequest来访问现存的数据。

Fetching NSManagedObject Instances

在这个例子中,构造了一个NSFetchRequest来描述想得到的数据。然后调用NSManagedObjectContextexecuteFetchRequest:error:来传递请求。


executeFetchRequest:error:方法有两种可能的返回结果。或者返回有零个或者多个对象的数据,也或者返回nil。如果返回nil,就会收到来自于core data的错误并且需要作出响应处理。空的数组暗示着没哟 iu找到响应的记录。

Filtering Results

可以在发送fetch请求的时候通过NSPredicate对象来缩小返回的对象的范围。例如你只想要Employee对象中名字为Trevor的结果,就可以如下这样做。

  1. NSString *firstName= @"Trevor";
  2. [fetchRequestsetPredicate:[NSPredicatepredicateWithFormat:@"firstName == %@",firstName]];
  1. let firstName ="Trevor"
  2. fetchRequest.predicate =NSPredicate(format: "firstName == %@", firstName)

除了可以缩小返回对象的范围外,你也可以配置这些对象如果返回。例如可以让core data返回NSDictionary类型的数据。而且你可以配置NSFetchRequest,这样这些NSDictionary实例就会只包含Employee实体相关的系列属性了。


0 0
原创粉丝点击