210316 Tue


学習内容


1.最初の学習内容:インスタンスメソッド、内部関数の呼び出し

  • 例示的方法
  • class Weekday {
        func notifyLunch() -> String {
            return "밥을 먹자!"
        }
    }
    
    var day = Weekday()
    print(day.notifyLunch())
    // print 밥을 먹자!
    「day」という名前のインスタンスを作成し、Weekdayの内部関数notifyLunch()を呼び出して値を取得します.
    →インスタンスを作成して内部関数を呼び出す
    参考資料
    (SWIFT)タイプメソッド&Jiseob Kimのインスタンスメソッド
    yagom's swift基本インスタンスの作成と破棄

    2.2番目の学習内容:CaseIterableプロトコルを使用して配列を作成する

    enum Fruit: CaseIterable {
    
    case strawberry, banana, pineapple, kiwi, mango
    
    }
    
    print(Fruit.allCases)
    
    // print [JuiceMaker.Fruit.strawberry, JuiceMaker.Fruit.banana, JuiceMaker.Fruit.pineapple, JuiceMaker.Fruit.kiwi, JuiceMaker.Fruit.mango]
    CaseIterableプロトコルを使用して配列を作成→だからAllCasesを書くことができます.
    import Foundation
    
    enum Exercise: CaseIterable {
        case yoga, running, walking
    }
    
    Exercise.allCases
    Exercise.allCases.count
    Array(Exercise.allCases)
    
    for exercise in Exercise.allCases {
        print(exercise)
    } // print yoga running walking
    参考資料
    CaseIterable by Apple
    Swift 4.2のZedd変更

    3.第三の学習内容:WangchoboのiOSアプリケーションを開発する-コードで実現する

  • IBACTION:
  • を使用してインタフェースビルダーのアクションコードを記述し、特定の要素がイベントを受信したときに応答する
  • IBOUttlet:インタフェースビルダーのUI要素の値を取得する場合、またはコードで
  • を使用します.



  • Refactor機能:(たとえば、関数名を書き間違えた場合)、変更する必要があるすべての同じ名前を変更できます.
  • 参考資料:SWIFT IBOUT変数名をRepactor-MungGu Storyに簡単に変更
  • if内で戻る必要がある場合とvs、そうでない場合
  • if randomValue == hitValue {
                print("YOU HIT!!")
                reset()
                return
            }
            
            if tryCount >= 5 {
                print("You lose...")
                reset()
                return
            }
            
            if randomValue > hitValue {
                slider.minimumValue = Float(hitValue)
                minimumValueLabel.text = String(hitValue)
            } else if randomValue < hitValue {
                slider.maximumValue = Float(hitValue)
                maximumValueLabel.text = String(hitValue)
            }
    if randomValue == hitValue {
                print("YOU HIT!!")
                reset()
            } else if tryCount >= 5 {
                print("You lose...")
                reset()
            } else if randomValue > hitValue {
                slider.minimumValue = Float(hitValue)
                minimumValueLabel.text = String(hitValue)
            } else {
                slider.maximumValue = Float(hitValue)
                maximumValueLabel.text = String(hitValue)
            }
    どうして上の戻りは下にいらないのですか?
    →上記の例では、if条件が成立すると、その中でコンテンツを実行して戻り、対応するif文を終了する.
    次の例では、対応するif条件が成立しない場合、どうせ次のelse if文が成立しているかどうかを確認するので、returnを書いてif文を離れる必要はありません.