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
解决方案
如果您希望可以从代码中的任何位置直接访问类的属性,可以将其设为静态:
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")
推荐阅读
- reactjs - 在 react redux 中设置状态是更好的做法
- artifactory - 从 6.0.2 升级到 Artifactory 6.9.1 后无法请求元数据服务 Service-Id
- c - 负数的 C++ 左移溢出
- python - pyspark Dataframe - 截断十进制列
- asp.net-core - Azure DevOps 忽略了一个项目的 Publish
- javascript - 为什么复制的数组之间存在关系?
- spring-boot - 我们如何将 Springboot 2.x 与 Zuul 2 集成
- python - 为什么当用户注销时,任务调度程序无法与执行带有 selenium 的 python 程序的批处理文件完全交互
- git - 如何更改子模块的名称?
- python - SARIMAX:增量卡尔曼滤波器