HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – NSArray元素无法匹配Swift数组元素类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Core Data对象(Order),它有一个返回另一个Core Data对象(OrderWaypoint)数组的方法.

func getorderedWaypoints() -> [OrderWaypoint] {
    let nameDescriptor = NSSortDescriptor(key: "stop_number",ascending: truE)
    let sorted: [OrderWaypoint] = self.waypoints.sortedArrayUsingDescriptors([nameDescriptor]) as [OrderWaypoint]
    return sorted
}

使用以下循环时,主要目标中的所有内容都按预期工作

for waypoint in order.getorderedWaypoints() {
   // do something
}

但是当我在测试目标中尝试完全相同的东西时

我已经尝试过铸造这些值,但似乎无法让它发挥作用.任何想法为什么它在主要目标而不是测试目标?

编辑

进一步细分它,当我试图从数组中取出一个项目时,问题就出现了.

var orderedList: [OrderWaypoint] = order.getorderedWaypoints()

for var i = 0; i < orderedList.count; i++ {
   var waypoint = orderedList[i]
   // do something
}

解决方法

您无法进行类型转换,因为SortedArrayUsingDescriptors返回NSArray,您需要将该数组中的所有元素复制到Swift Typed数组中.

func getorderedWaypoints() -> [OrderWaypoint] {
    let nameDescriptor = NSSortDescriptor(key: "stop_number",ascending: truE)
    let sorted = [OrderWaypoint]()
    for elem in self.waypoints.sortedArrayUsingDescriptors([nameDescriptor]) {
        sorted.append(elem)
    }
    return sorted
}

大佬总结

以上是大佬教程为你收集整理的ios – NSArray元素无法匹配Swift数组元素类型全部内容,希望文章能够帮你解决ios – NSArray元素无法匹配Swift数组元素类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。