swift
1let total: Int = 0
2var text1: String?
3
4// 変数宣言の中で他の変数の値は使用できないと思います。
5let intVal: Int! = Int(text1)
6
7// これもエラーになります。
8let intVal = total
9
以下のコードだと宣言だけして初期値をinitで設定できますがtext1がnilの為に落ちます...
swift
1
2let total: Int = 0
3var text1: String?
4
5// 宣言だけをする
6let intVal: Int!
7
8required init(coder aDecoder: NSCoder) {
9
10 // 初期値を設定
11 intVal = Int(text1!)
12 super.init(coder: aDecoder)!
13}
letで宣言してあるのでややこしいですが、やりたいことは以下のコードでできると思います。
swift
1
2let total: Int = 0
3
4// 初期値を設定する
5var text1: String? = "123"
6
7// 宣言だけをする
8let intVal: Int!
9
10required init(coder aDecoder: NSCoder) {
11
12 // 初期値を設定
13 intVal = Int(text1!)
14 //=> 123
15 super.init(coder: aDecoder)!
16}
単純にサンプルを試したいだけでしたらviewDidLoad()に書けば良いと思います。
swift
1
2override func viewDidLoad() {
3 super.viewDidLoad()
4
5 var text1: String? = "123"
6 let intVal = Int(text1!)
7}
8
2015/12/02 05:37