Lebron1992 / WeChat-SwiftUI

用 SwiftUI 仿写的微信。
MIT License
335 stars 60 forks source link

关于AppEnvironment的类型 #1

Closed iwantFB closed 2 years ago

iwantFB commented 2 years ago

您好,请问一下为什么AppEnvironment要定义成一个枚举类型呢?Struct 不是更好吗?语意更加清晰一点

Lebron1992 commented 2 years ago

@iwantFB 因为 AppEnvironment 不需要创建任何实例对象,相当于命名空间的作用。如果你用 struct,那么就可以创建对象 AppEnvironment(),但这个对象是无任何意义的,我们并不需要。所以用 enum 是最好的。

关于 enum / class / struct 如何选择。我写过一个总结,你可以看下:https://juejin.cn/post/6875138387292979213

Lebron1992 commented 2 years ago

你好。 因为 AppEnvironment 不需要任何创建任何实例对象,相当于命名空间的作用。如果你用 struct,那么就可以创建对象 AppEnvironment(),但这个对象是无任何意义的,我们并不需要。所以用 enum 是最好的。

关于 enum / class / struct 如何选择。我写过一个总结,你可以看下:https://juejin.cn/post/6875138387292979213

From: iwantFB @.> Date: Friday, May 6, 2022 at 11:50 To: Lebron1992/WeChat-SwiftUI @.> Cc: Subscribed @.***> Subject: [Lebron1992/WeChat-SwiftUI] 关于AppEnvironment的类型 (Issue #1)

您好,请问一下为什么AppEnvironment要定义成一个枚举类型呢?Struct 不是更好吗?语意更加清晰一点

― Reply to this email directly, view it on GitHubhttps://github.com/Lebron1992/WeChat-SwiftUI/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADISZ4ZIVW24SMLJRQGFTG3VISJIJANCNFSM5VG5ML5A. You are receiving this because you are subscribed to this thread.Message ID: @.***>