Open17

React NativeエンジニアがSwiftUIでApple Watchアプリを作るまで

ピン留めされたアイテム
nitakingnitaking

Goal

  • Apple Watchでアプリを作成し、ストアリリースまで

スクラップの目的

  • リアルタイムでやったことや問題をペタペタ貼っていく。
    • 天の声が聞こえるのも期待
    • 誰かの道標になれば

背景

  • Apple Watch開発初めて
  • SwiftUI開発初めて
  • Swift初めて(状態)
  • ObjectCはキライ人間

方針

  • Tipsなどがあれば皆さんコメントや返信がほしいです。
nitakingnitaking

作ろうと思うもの

  • Apple Watchのタイマーを改良したもの。
nitakingnitaking

props的に、引数をViewに渡すには

nitakingnitaking

View側にプロパティを定義する必要があるのか・・・
namedで引数指定する言語仕様だからこうなっているのかな

TimerView(index: index)

struct TimerView: View {
    var body: some View {
        VStack {
            ForEach(0..<2) { index in
                TimerView(index: index)
            }
        }
        .padding()
    }

    var body: some View {
            HStack {
                Text(String(index))
                    .font(.subheadline)
                    .bold()       
            }
        }
}

nitakingnitaking
                Text(
                    String(timer.hours)+"h"+String(timer.minutes)+"m"
                )

これだとエラーにならなくて、

                Text(
                    String(timer.hours)+"h"+String(timer.minutes)
     +"m"
                )

これだとエラーになる。

文字列を扱うときは改行禁止?

nitakingnitaking
Text(String(timer.hours)+"h"+String(timer.minutes)+"m"+String(timer.secounds)+"s")

だとコンパイルエラーで

Text("\(timer.hours)h \(timer.minutes)m \(timer.secounds)s")

だとコンパイルエラーにならないのはなぜだ・・・誰か教えてくれ・・・

nitakingnitaking

4) Timer機能の完成

Timer.scheduledTimer

buildエラーになりますね。
image

nitakingnitaking

解消した・・・!
全く関係のないクラスファイルを消したらエラーも消えた
参照の依存関係で死んでいたのかなぁ・・・?