Ios Swift 3阵列扩展错误
我想将0始终插入到第0个索引处的数组,我正在尝试在数组上写入扩展名。但给出一些错误,如: 无法使用“Int,at:Int”类型的参数列表调用“insert” 这是我的密码Ios Swift 3阵列扩展错误,ios,swift,xcode,swift3,Ios,Swift,Xcode,Swift3,我想将0始终插入到第0个索引处的数组,我正在尝试在数组上写入扩展名。但给出一些错误,如: 无法使用“Int,at:Int”类型的参数列表调用“insert” 这是我的密码 正如您所定义的,您的扩展适用于所有类型的数组。不幸的是,不可能只在任何数组中插入0。例如,您不能将0插入[字符串]中 您需要使此扩展仅适用于可以包含整数文本0的数组。可以通过在数组的元素类型上添加一个约束来完成此操作,该约束指定该类型为ExpressibleByIntegerLiteral: 例如: var a = [1, 2
正如您所定义的,您的扩展适用于所有类型的数组。不幸的是,不可能只在任何数组中插入0。例如,您不能将0插入[字符串]中 您需要使此扩展仅适用于可以包含整数文本0的数组。可以通过在数组的元素类型上添加一个约束来完成此操作,该约束指定该类型为ExpressibleByIntegerLiteral: 例如:
var a = [1, 2, 3]
let b = a.printWithZero()
print(a) // [0, 1, 2, 3]
print(b) // [0, 1, 2, 3]
// Works with an array of Doubles too
var c = [1.5, 2.5, 3.5]
let d = c.printWithZero()
print(c) // [0, 1.5, 2.5, 3.5]
print(d) // [0, 1.5, 2.5, 3.5]
正如您所定义的,您的扩展适用于所有类型的数组。不幸的是,不可能只在任何数组中插入0。例如,您不能将0插入[字符串]中 您需要使此扩展仅适用于可以包含整数文本0的数组。可以通过在数组的元素类型上添加一个约束来完成此操作,该约束指定该类型为ExpressibleByIntegerLiteral: 例如:
var a = [1, 2, 3]
let b = a.printWithZero()
print(a) // [0, 1, 2, 3]
print(b) // [0, 1, 2, 3]
// Works with an array of Doubles too
var c = [1.5, 2.5, 3.5]
let d = c.printWithZero()
print(c) // [0, 1.5, 2.5, 3.5]
print(d) // [0, 1.5, 2.5, 3.5]
我会使用这个简单的代码,没有扩展-Swift 3:
var myArray = [1,2,3]
myArray.insert(0, at: 0)
print(myArray) // [0,1,2,3]
我会使用这个简单的代码,没有扩展-Swift 3:
var myArray = [1,2,3]
myArray.insert(0, at: 0)
print(myArray) // [0,1,2,3]