在swiftUI中初始化变量

在swiftUI中初始化变量,swiftui,Swiftui,我刚接触swiftUI,听说这是应用程序开发的最短路径。但是我在给变量赋值时遇到了一些困难。下面的片段是我困惑的地方 self.phone = fetcher.customer!.phone print( self.phone ) <-- Empty string print( fetcher.customer!.phone ) <-- 555-555-5555 我确信我只是忘记了强制打开视图,或者超级类的第二个实例,或者其他什么,但是任何帮助

我刚接触swiftUI,听说这是应用程序开发的最短路径。但是我在给变量赋值时遇到了一些困难。下面的片段是我困惑的地方

self.phone = fetcher.customer!.phone 
print( self.phone )                <-- Empty string 
print( fetcher.customer!.phone )   <-- 555-555-5555

我确信我只是忘记了强制打开视图,或者超级类的第二个实例,或者其他什么,但是任何帮助都将不胜感激。谢谢。

状态属性的初始化方式应不同。以下是
手机的一个示例

struct WithCustomer: View {
    @ObservedObject var fetcher: CustomerFetcher

    // ... other state should be declared similarly

    @State private var phone: String   // << no assign, only declare
    
    init( fetcher: CustomerFetcher ) {
        self.fetcher    = fetcher

        // ... other state should be initialised similarly

        self._phone = State(initialValue: fetcher.customer!.phone)
    }

    // .. other code
struct with客户:查看{
@ObservedObject变量获取程序:CustomerFetcher
//……其他国家也应同样宣布

@国家私人var电话:String//它成功了。我永远也想不到。谢谢!
struct WithCustomer: View {
    @ObservedObject var fetcher: CustomerFetcher

    // ... other state should be declared similarly

    @State private var phone: String   // << no assign, only declare
    
    init( fetcher: CustomerFetcher ) {
        self.fetcher    = fetcher

        // ... other state should be initialised similarly

        self._phone = State(initialValue: fetcher.customer!.phone)
    }

    // .. other code