目前,我正在熟悉SwiftUI和组合框架。我不太明白这两种方法的区别。当我们必须跟踪某些数据(例如,任务列表)时,我们可以声明一个@State变量,它的更改将自动发送通知和更新当前视图。modified and updated on different occasions}
@ObservedObjectvar todoList = TaskList()因此,我
这段代码是一个简单的视图。我有一个名为UserProfile的单例程序,它在应用生命周期的早期就被称为。当用户注册、登录或登录时,将设置该用户配置文件的详细信息。然后,这个视图最终会呈现给用户。所讨论的代码是@ObservedObject var profile = UserProfile.sharedProfile。如果删除这一行代码,Text(...)视图将不会显示任何内容。单例在应用程序启动时被初始化,当它到达我的基本视图。如何更好地做到这一点,使我能够始终只访问
基于这个答案:在SwiftUI应用程序中,当View实例化对象本身时,应该使用@StateObject属性包装器,这样就不会在视图更新期间重新创建对象。是@StateObject还是@ObservedObjectimport SwiftUIimport Foundation
struct规则是这样的:无论哪个视图是创建对象的第一个视图,都必须使用@StateOb