Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 如何使Swift参数/内容全局化?_Function_Variables_Swift - Fatal编程技术网

Function 如何使Swift参数/内容全局化?

Function 如何使Swift参数/内容全局化?,function,variables,swift,Function,Variables,Swift,我是用Swift编程语言创建的,我想知道如何使shoppingList数组成为全局数组,以便从其他函数访问它?如何使参数item1和item2全局化?以下是代码,感谢您的帮助: func createList(item : String, item2: String){ var shoppingList = [item, item2] } createList("apples", "peaches") func printList(){ println("You need to get \(

我是用Swift编程语言创建的,我想知道如何使shoppingList数组成为全局数组,以便从其他函数访问它?如何使参数item1和item2全局化?以下是代码,感谢您的帮助:

func createList(item : String, item2: String){
var shoppingList = [item, item2]
}

createList("apples", "peaches")

func printList(){
println("You need to get \(shoppingList[0]) and \(shoppingList[1]).") //Here is the error
}

printList()

您可以将变量放在函数的作用域之外,或者让tour函数返回一个数组,然后将其传递回
打印列表

以下是从函数返回值的方式:

func returnSomething() -> String // Returns a string

不过,我强烈建议您研究一下。

正如陈慧琳所建议的,依靠全局变量传递信息通常是不明智的。Bryan建议您返回数组并将其传递给其他人,如下所示:

func createList(item1: String, item2: String) -> [String] {
    let shoppingList = [item1, item2]
    return shoppingList
}

func printList(shoppingList: [String]) {
    if shoppingList.count >= 2 {
        println("You need to get \(shoppingList[0]) and \(shoppingList[1]).")
    } else {
        println("Expected 2 items in shopping list")
    }
}

let list = createList("apples", "peaches")

printList(list)

全局变量几乎总是一个坏主意。只需返回数组并四处传递我如何返回数组?你能给出答案中的代码吗?这确实帮助并帮助我理解如何返回数组。我正在学习苹果在Swift上制作的iBook,但我还没有达到功能,正在测试一些东西,但无论如何,谢谢!