swift - 没有要求的协议的目的是什么?
解决方案
这只是将不同类型集中在一个屋檐下的一种方式。获取结果请求可以返回以下四种类型中的任何一种:NSDictionary、NSManagedObject、NSManagedObjectID 或 NSNumber。我们需要一种表达方式。它们在其他方面是不相关的,因此让它们都采用通用协议是一种方法。
因此,NSFetchRequest 能够对其中一种类型进行泛型参数化,而无需说明它是哪一种。
open class NSFetchRequest<ResultType> :
NSPersistentStoreRequest, NSCoding
where ResultType : NSFetchRequestResult {
无论 ResultType 是什么,它都必须符合 NSFetchRequestResult ——这意味着(目前)它是这四个类之一。
推荐阅读
- python - How to handle and have two types of users in django
- jquery - Datepicker 不是一个函数(Jquery-UI)
- cassandra - 如何在 Cassandra 中存储动态值
- swift - 非可选 IBOutlet 返回致命错误:当从另一个 UIViewController 类引用时
- binary - 如何用verilog将二进制浮点数转换为十进制数?
- c# - 使用唯一窗口更新对象列表中的多个属性的智能方法
- weblogic - Weblogic 优雅关闭仍接受新连接
- r - R Shiny Value Function 未在 reactivePoll 中触发
- jquery - 如何解决这个问题?找不到类
- haskell - Haskell,HDBC.Sqlite3 - 如果列不存在,如何添加?