我找到了这个答案:https://stackoverflow.com/a/4861732/1486928
我正在尝试这样做,但它不会让我分配一个新创建的NSFetchRequest
,并在文档中说:
@property(nonatomic,readonly)NSFetchRequest * fetchRequest
但在接下来的一行中它说:
特殊注意事项:如果要修改提取请求,则必须遵循“提取请求”中描述的步骤。
那是哪个,我是否可以修改它:/?非常混淆,该属性是readonly
,他们说我们可以修改它:(
答案 0 :(得分:9)
fetchRequest
可能是只读属性,但NSFetchRequest
实例是一个可变属性,因此您可以更改其实体/排序描述符/谓词/ ...
答案 1 :(得分:0)
是的,你可以:
每次创建NSFetchRequest实例并更改其排序描述符:
let shortDescriptor = NSSortDescriptor(key: key, ascending: ascending)
request.sortDescriptors = [shortDescriptor]
do {
try fetchedResultViewController?.performFetch()
} catch let error as NSError {
print("Error in fetch \(error)")
}
阅读苹果文档:https://developer.apple.com/reference/coredata/nsfetchedresultscontroller