Tra*_* M. 4 core-data ios swift2
每当我遍历核心数据关系(NSSet)时,我必须将集合转换为数组:
for student in classroom.students.allObjects as! [Student] {
print(student.name)
}
Run Code Online (Sandbox Code Playgroud)
或者我可以正常循环设置,但我必须先对项目进行类型转换才能使用它:
for student in classroom.students {
let s = student as! Student
print(s.name)
}
Run Code Online (Sandbox Code Playgroud)
我知道这是微不足道的,但我想要做的只是在循环中预先指定NSSet的强制转换,而不必进行这些工作吗?
当我尝试这样做时:
for student: Student in classroom.students {
print(student.name)
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:表达式类型'NSSet'是不明确的,没有更多的上下文
如果我尝试这样的事情:
for student in classroom.students as! NSSet([Student]) {
print(student.name)
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:声明的语句块是一个未使用的闭包
是否有正确的方法从Core Data循环NSSet并具有预定义的类型?
假设students关系是to-many关系Student,您可以使用泛型语法将关系转换为Swift集:
for student in classroom.students! as! Set<Student> {
print(student.name)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |