首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift 3中的NSFetchRequests集合

Swift 3中的NSFetchRequests集合
EN

Stack Overflow用户
提问于 2016-06-29 20:10:52
回答 1查看 560关注 0票数 1

我有一个对象,它使用关键路径的字典来获取请求。每个提取请求代表一个不同的实体。这一切都很好,在Swift 2.3及以下环境下工作。但是,当我试图将我的项目转换为Swift 3时,我遇到了新的获取请求的泛型问题。Fetch请求往往具有与其相关联的返回类型,但我的字典需要有返回各种类型的fetch请求。当我尝试创建一个类型为[String:NSFetchRequest<NSManagedObject>][String:NSFetchRequest< NSFetchRequestResult >]的字典时,请使用特定类型的NSFetchRequest<Message>类型的fetch请求。(Message是一个NSManagedObject子类)我得到一个编译器错误:

无法将“NSFetchRequest< Message >”类型的值转换为预期的字典

值类型'NSFetchRequest‘

如何将一个提取请求降为更一般的提取请求类型?

EN

回答 1

Stack Overflow用户

发布于 2016-06-30 15:28:27

显然,您可以从一种提取请求类型转换为另一种类型。不过有点笨重。我无法想象会出现演员失败的情况。在ObjC中,你甚至不需要演员阵容。

代码语言:javascript
运行
复制
class A: NSManagedObject {}
class B: NSManagedObject {}

let fetchRequestA = NSFetchRequest<A>()
let fetchRequestB = NSFetchRequest<B>()

let fetchRequests: [String:NSFetchRequest<NSManagedObject>] = [
    "a" : fetchRequestA as! NSFetchRequest<NSManagedObject>,
    "b" : fetchRequestB as! NSFetchRequest<NSManagedObject>,
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38109188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档