大佬教程收集整理的这篇文章主要介绍了数组 – Swift Generic Array’不相同’错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
func exchange<T>(data:[T],i:Int,j:int) { let temp = data[i]; data[i] = data[j]; data[j] = temp; }
游乐场告诉我:
错误:@lvalue $T8与T不同.
如何更改它以使其工作?
1.将数据定义为inout参数:
func exchange<T>(inout data:[T],j:int)
var myArray = ["first","second"] exchange(&myArray,1)
2.返回数组的副本(推荐)
func exchange<T>(data:[T],j:int) -> [T] { var newData = data newData[i] = data[j] newData[j] = data[i] return newData }
我推荐使用这种方法而不是in-out参数,因为in-out参数会创建更复杂的状态.你有两个变量指向并可能操纵同一块内存.如果交换决定在一个单独的线程上完成它的工作怎么办?还有一个原因是Apple决定使用in-out subverts来制作数组值类型.最后,返回副本更接近Functional Programming,这是Swift可以移动的有前途的方向.@R_133_9616@程序中的状态越少,我们将创建的错误越少(通常).
以上是大佬教程为你收集整理的数组 – Swift Generic Array’不相同’错误全部内容,希望文章能够帮你解决数组 – Swift Generic Array’不相同’错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。