使用Swift 2.3
,我有一个用特定类型定义的Core Data
Set
,如下所示:
@NSManaged public var personEntities: Set<PersonEntity>?
我只想把它转换成swift 2.3
Array
的PersonEntity
-简单吧?我试过以下几点,但都会产生各种各样的错误:cell.people = Array(self.memory.personEntities)
(无法调用类型的初始值设定项..带有..类型的参数列表)
cell.people = self.memory.personEntities.flatMap({$0 as? PersonEntity})!
(无法将person实体类型的值赋给类型[personEntity])
cell.people = self.memory.personEntities.flatMap({$0})
(flatmap生成u,而不是上下文结果类型)
非常感谢您的帮助。
最佳答案
通过评论感谢贡献者,这是正确的答案:
cell.people = Array(self.memory.personEntities ?? [])
它以前失败是因为
self.memory.personEntities
是一个Optional
。因此,通过添加?? []
,它可能无法获得personEntities
(如果其为nil),而只提供一个空数组[]
。