在 NSManagedObjectContext.fetch(_:) 的文档中,在方法定义中,只有一个参数request
,但是在描述部分,它说有两个参数request
和error
。为什么不同?
最佳答案
这是 Objective-C 和 Swift 互操作的结果。 Objective-C 中的一个常见模式是函数在出现问题时修改 Error
引用,如果您查看该函数的 Objective-C 声明,您会看到:
- (NSArray *)executeFetchRequest:(NSFetchRequest *)request
error:(NSError * _Nullable *)error;
随着 Swift 中 try/throw/catch 的引入,采用的模式是针对以这种方式声明的函数,throw
Error
而不是使用副作用并修改参数。
关于ios - NSManagedObjectContext.fetch 不一致(_ :) method documentation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806813/