如何使用 @StateObject 创建和监视外部对象?

5 min read

在SwiftUI中,@StateObject可以用于创建和监视外部对象。以下是使用@StateObject创建和监视外部对象的步骤:

  1. 创建一个类,该类包含您想要监视的属性和方法。

  2. 在视图中使用@StateObject修饰符来创建一个新的实例。

  3. 在视图中使用该实例来访问外部对象的属性和方法。

例如,以下是如何创建和监视一个名为userManager的外部对象:

class UserManager {
var username: String = "Guest"
func login() {
// Login logic here
}
}

struct ContentView: View {
@StateObject var userManager = UserManager()

var body: some View {
    Text("Welcome, \(userManager.username)!")
        .onAppear {
            userManager.login()
        }
}

}

在上面的示例中,我们创建了一个名为UserManager的类,并将其分配给@StateObject userManager。然后,我们可以在视图中使用userManager来访问username属性和login()方法。在此示例中,我们在视图出现时调用了login()方法。

通过使用@StateObject修饰符,@StateObject会自动创建和销毁实例,并在视图需要时恢复其状态。这使得使用外部对象变得更加容易和直观。