swift - 快速将变量添加到静态数组
问题描述
我在 swift 中有一个静态数组,我想向它附加变量。它工作正常,如果我只有一个非静态的普通数组,但如果我将变量更改为静态,它就不起作用。有没有办法将项目附加到 Swift 中的静态数组?
这是一个示例代码:此示例工作正常,直到您注释 3 个非静态版本并取消注释 3 个静态版本,然后它不起作用。
import SwiftUI
struct ContentView: View {
//Static Version:
//@State static var arr = [String]()
//non static Version:
@State var arr = [String]()
func appendToArray() {
//Static Version:
//ContentView.arr.append("Test")
//non static Version:
arr.append("Test")
}
func testArray() {
//Static Version:
//print(ContentView.arr[0])
//non static Version:
print(arr[0])
}
var body: some View {
VStack {
Spacer()
Button(action: {
appendToArray()
}){
Text("Add something!!")
}
Spacer()
Button(action: {
testArray()
}) {
Text("Show Array Data")
}
Spacer()
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
解决方案
您可以使用没有 @state 关键字的静态数组
static var arrS = [String]()
推荐阅读
- python - 如何识别图像的蒙版/边缘检测是圆形还是椭圆形?
- html - 用于 YouTube 嵌入的 iframe:延迟加载在 Firefox 中不起作用
- c# - 使用 Xamarin 进行 OCR
- android - 如何在 Android 中获取 FrameLayout 的 XY 坐标?
- python - 尝试按照 python 中的教程进行操作,但我不断收到此错误 - istart = _int(start) TypeError: 'str' object is not callable
- java - 如果我想在 JavaFX 中调整 ImageView 的大小以仅适合边框的整个左侧区域而不调整到其他区域的大小?
- flutter - 如何创建偏移滑出对话框叠加
- tensorflow - 在 JUPYTER NOTEBOOK 上安装 Tensorflow
- python - Python pandas 数据框 - 尝试从 read_csv 访问/打印某些字段会导致类型错误 - 如何修复?
- react-native - 使用 View 包装的 TouchableNativeFeedback 组件不会在屏幕上显示任何内容,并且两者都有 flex:1