在另一个Swift文件中使用返回值(字符串数组)

时间:2018-08-30 06:13:31

标签: arrays swift

为完整的新手问题表示歉意。这是我写的原始字符串数组:

let fruit = ["apple1.jpg", "apple2.jpg", "apple3.jpg", ..... "apple10.jpg"]

首先,我在一个单独的Swift文件(附加到项目中)中创建了一个函数来替换上面的数组,因为稍后可能会根据多个输入因素来更改数组的内容:

class Fruits {
    let fruit = "apple"

    func fruitName() -> [String] {
        let arrayA = (1...10).map({ "\(fruit)\($0).jpg" })
        return arrayA
        }
    }
}

这是在Fruits.swift文件上编写的所有内容。然后,回到原始文件,我想通过加载返回的arrayA将原始let fruit = ["", "", ...]替换为let fruit = Fruits.fruitName()之类的东西。但是理解如何在不同的类括号内的不同文件中使用返回的字符串数组值有点令人困惑。我尝试了类似let fruits = Fruits()let fruit = fruits.fruitName()等操作,但是它似乎无法成功替换原始数组代码。我仍然需要创建常量let fruit =部分。有什么方法可以将返回的值加载到单独的文件中?非常感激。 <3

1 个答案:

答案 0 :(得分:2)

如果希望从代码中的任何位置直接访问类的属性,可以将其设为静态:

class Fruits {

    static let fruit = "apple"

    static func fruitName() -> [String] {
        let arrayA = (1...10).map({ "\(fruit)\($0).jpg" })
        return arrayA
    }
}

// usage:
let fruits = Fruits.fruitName()

根据您的具体情况,您甚至可能没有一个类,并且没有一个以水果为参数的全局函数:

func fruitNames(fruit: String) -> [String] {
    let arrayA = (1...10).map({ "\(fruit)\($0).jpg" })
    return arrayA
}

// usage:
let fruits = fruitNames(fruit: "apple")