以这种方式初始化数组时:
var result = [Double](count: N, repeatedValue: 0)
和
var result = [String](count: N, repeatedValue:"")
或者当使用我编写的类的初始化器时:
let result = Matrix(rows: N, columns: N)
当我在一个设备上运行它,说第二个参数是额外的时,我得到一个错误。不过,如果我在模拟器中运行它,它可以正常工作。更令人沮丧的是,类似的代码正在其他地方被调用,并没有引起任何问题。我能做什么来解决这个问题?
更新1
我应该指出,上面的例子是在完全不同的范围。
最佳答案
尝试使用Int(N)
。如果N
是Int64
它将在64位体系结构(如模拟器)中工作,但不会在32位体系结构(如iPhone 4、4s、5)中工作。Int
是typedef
的Int64
或Int32
的取决于体系结构。
像“第二个参数是额外的”这样的错误信息仍然具有误导性。这通常意味着您的一个参数类型错误。
关于arrays - 在设备上运行时调用错误中的额外参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27985432/