在swift中实现函数

时间:2014-07-22 20:32:35

标签: ios arrays function swift ios8

我是swift的新手,并尝试实现一个简单的函数,该函数将最小和最大数量作为输入,并返回一个数组中包含所有数字的数组。我收到了一个错误 //错误:引用泛型类型'数组'需要< ...>中的参数 我可以知道自己错过了什么吗?

func serialNumberLimits(minimumNumber n1:Int, maximumNumber n2:Int) -> Array {

// Initialized an empty array
var array = Int[]()

//Initialized a "Temp" variable
var temp:Int = 0


for index in n1..n2 {

    temp += n1
    n1++

    if index == 1 { array.insert(temp, atIndex: 0) }

    else { array.insert(temp, atIndex: index-1) }

}

return array

}

1 个答案:

答案 0 :(得分:5)

使用以下功能
1)当您在函数中使用n1并更改其值时,请将其声明为var,因为默认情况下swift中的所有参数均为constants

2)使用Array<Int>因为它需要定义swift中的数据类型.Swift是强类型语言所以需要定义所有类型。

运行以下代码,它将编译时没有错误

func serialNumberLimits(var minimumNumber n1:Int, maximumNumber n2:Int) -> Array<Int> {

    // Initialized an empty array
    var array = Int[]()

    //Initialized a "Temp" variable
    var temp:Int = 0


    for index in n1..n2 {

        temp += n1
        n1++

        if index == 1 { array.insert(temp, atIndex: 0) }

        else { array.insert(temp, atIndex: index) }

    }

    return array

}