在SwiftUI中,@StateObject可以用于创建和监视外部对象。以下是使用@StateObject创建和监视外部对象的步骤:
-
创建一个类,该类包含您想要监视的属性和方法。
-
在视图中使用@StateObject修饰符来创建一个新的实例。
-
在视图中使用该实例来访问外部对象的属性和方法。
例如,以下是如何创建和监视一个名为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会自动创建和销毁实例,并在视图需要时恢复其状态。这使得使用外部对象变得更加容易和直观。