【发布时间】:2017-04-20 05:54:38
【问题描述】:
目前我有这个代码:
if let myPhoneNumbers = person.phoneNumbers?.allObjects as? [PhoneNumber] {
for myPhoneNumber in myPhoneNumbers {
mainPhoneNumber = myPhoneNumber.number
break
}
}
这是正确的编码方式吗?我知道NSSet 是无序的,这可能是它没有自己的.first 实现的原因,例如:
person.phoneNumbers.first
但我认为我的代码不是最优雅的代码,也可能不是正确的 Swift 代码。
【问题讨论】:
-
对你的 NSSet 排序并取第一个对象
-
myPhoneNumbers 是一个数组,因此您可以使用
myPhoneNumbers.first而不是使用 for 循环。 -
为什么你想要一个集合的第一个对象?你自己说的,
NSSet是无序的,每次都会得到任意的电话号码,没有一致性 -
为什么每次循环时都将
mainPhoneNumber设置为另一个数字?
标签: ios swift core-data nsmanagedobject nsset