相关疑难解决方法(0)

绑定ObservableObject数组的元素:不建议使用'subscript(_ :)'

我正在使用ObservableObject'DataStore',其中包含对象('exampleObject')的数组('exampleList')。

@Published exampleList = [exampleObject]()
Run Code Online (Sandbox Code Playgroud)

我通过@EnvironmentObject('dataStore')调用DataStore。

@EnvironmentObject var dataStore = DataStore()
Run Code Online (Sandbox Code Playgroud)

然后我用

ForEach(0..<dataStore.exampleList.count) { index in ....
Run Code Online (Sandbox Code Playgroud)

要将item的元素绑定到详细信息视图,我正在这样做:

DetailView(itemBinding: $dataStore.exampleList[index])
Run Code Online (Sandbox Code Playgroud)

在Xcode11 beta 4之前,它一直运行良好。

从XCode11 beta 5开始,它仍然可以工作,但是Xcode给我以下警告:

不推荐使用下标(_ :):有关迁移路径,请参见发行说明

我尝试了一些简单的东西,使用了一个简单的@State var包含一个字符串数组,这是同样的问题:调用此数组的元素并尝试将其值用于TextField时:

TextField("test", text: $test[0])
Run Code Online (Sandbox Code Playgroud)

我收到相同的警报。

我不知道该如何解决。这是否意味着我们不再可以在数组内部绑定值?然后,我们如何迭代数组并绑定特定项目?

这是我关于Stackoverflow的第一个问题,如果我的问题太笨拙,我深表歉意。非常感谢您的回答,多年来我一直在使用Stackoverflow,这很了不起,我总是能找到现有的有用的答案,但这是第一次我找不到任何东西,这就是为什么我要问。

swift swiftui xcode11

11
推荐指数
1
解决办法
1167
查看次数

无法在真正的iPhone上使用@ObservedObject

使用@ObservedObject它时,我无法显示我的视图。当我尝试显示该应用时,该应用崩溃了,并且出现以下错误:

线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x9)

该应用程序可以在模拟器上正常运行。它只会在我的身上崩溃

iPhone 6s iOS 13测试版6

Xcode Beta 5

那是我的基本代码:

class NetworkManager: ObservableObject {

}

struct ContentView : View {
    @ObservedObject var networkManager: NetworkManager = NetworkManager()

    var body: some View {
        Text("Hi Stack")
    }
}

#if DEBUG
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

iphone ios swift swiftui xcode11

5
推荐指数
1
解决办法
776
查看次数

标签 统计

swift ×2

swiftui ×2

xcode11 ×2

ios ×1

iphone ×1