読者です 読者をやめる 読者になる 読者になる

遅々として進まぬ。

Swift

書籍がSwift1なのでサンプルコードが動かないこと山の如し。
遅々として進まぬ学習。。
今日はデリゲート学んだ。
デリゲートは理解が難しい。
8年前ならC#で使いこなせていた気がするが今は無理。
プロトコルを実装して、イベントが発生するのでfuncを書くぐらいの
認識しかない。
下記コードを書くのに2時間ぐらい掛かってイライラした。

   func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
        /* クリアに対応できない
        var tmp = ""
        if let te = textField.text {
            tmp  = te + string
        }else {
            tmp = string
        }
        print("tmp:" + tmp)
        let num = Int(tmp)
        if let n = num {
            self.label2.text = (n * 25).description
        }else {
            self.label2.text = "0"
        }
        */

        var _t:NSString
        if let te = textField.text {
            _t = te as NSString
            _t = _t.stringByReplacingCharactersInRange(range, withString: string)
        }else {
            _t = ""
        }
        print(_t)
        if _t == "" {
            self.label2.text = "0"
        } else {
            let num = Int(_t as String)
            if let n = num {
                self.label2.text = (n * 25).description
            }else {
                self.label2.text = "0"
            }

        }
        return true
    }