使用NSFetchedResultsController实现Core Data对象的运行时过滤的最佳方法是什么?
例如,我希望能够在RecordStore实体中显示所有Record实体,但也可以过滤RecordStore中所有记录的某些预定义标准,例如(ANY recordStore.records.count> 0)。 / p>
我读到在创建后更改NSFetchedResultsController的谓词是不好的。那么我应该将获取的结果存储在我可以过滤的NSArray中并将其用作UITableView的数据源,还是应该创建多个NSFetchedResultsControllers?
答案 0 :(得分:2)
您可以在需要更新时重新获取数据。如果数据本身发生了变化,那么您可以再次调用fetch。如果您的条件已更改,请在NSFetchedResultsController上设置谓词,然后调用fetch。
答案 1 :(得分:0)
创建NSFetchRequest实例,每次更新请求并执行提取。如果您正在使用,请删除缓存:
fetch('http://no-tld.example/androidLogin', {
method: 'POST',
headers: { 'Accept': 'application/json','Content-Type': 'application/json',},
body: JSON.stringify({ email: 'chesterfield@gmail.com', password: '123456'})
}).then((response) => response.json())
.then((responseData) => {
console.log("responseData : " +responseData); // fetch response data
}).catch((error) => {
console.log("error : " +error); // error
});
阅读苹果文档:https://developer.apple.com/reference/coredata/nsfetchedresultscontroller