首页 > 解决方案 > 在另一个 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

标签: arraysswift

解决方案


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

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")

推荐阅读