【SwiftUI】 親から隠そうとすると怒られる 子View ローカルプロパティの記述

分かったつもりでいたが、

一発で書けない。

隠そうとすると怒られる。


struct ChildView: View {

  // var count = 0 // OK
  private var count = 0 // 'ParentView' initializer is inaccessible due to 'private' protection level

  var body: some View {

試してみる。


struct ChildView: View {

  // public var count = 0 // OK
  // internal var count = 0 // OK
  // private var count = 0 // NG

  // @State var count = 0 // OK
  // @State public var count = 0 // OK
  // @State internal var count = 0 // OK
  // @State private var count = 0 // OK

  var body: some View {

なんでなの?

「@State でない可変プロパティを書くな。」

ってこと ?

記述時の考え方の順番を明確にしておきたい。

この自動コンストラクタ生成的な memberwise initializer ての便利だけど馴染みづらくない ?

👉 【Swift】「public」 を省略しない理由 🚫 hatena-bookmark
👉 【SwiftUI】View プロパティの記述 hatena-bookmark