我必须做一些初始设置每次应用程序启动,但我得到的错误:
错误很明显,答案是否定的。我试着把init放在一个子视图中,但我做不到,它需要放在根@main
中。这是我如何定义它的:
@StateObject private var amplifyConfig: AmplifyConfig = AmplifyConfig()
init() {
if(amplifyConfig.isAmplifyConfigured == false) {
amplifyConfig.dataStoreHubEventSubscriber()
amplifyConfig.configureAmplify()
}
}
我如何消除这个警告,并实际实现它,使它不会创建多个示例,在一天结束时,这就是为什么我使用@环境对象?
2条答案
按热度按时间izkcnapc1#
在初始化之前,您无法访问任何值,请使用
onAppear()
:更新:实际用例
mfpqipee2#
我遇到了这个线程,接受的答案不适用于我的用例,虽然它是正确的。我修复了它使用以下解决方案。
你也可以自己在init中初始化
AmplifyConfig
,然后把它赋值给@StateObject var ...
,如下所示: