回答編集履歴

1

例を追記

2015/12/01 15:30

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -19,3 +19,109 @@
19
19
 
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ 以下のコードだと宣言だけして初期値をinitで設定できますがtext1がnilの為に落ちます...
26
+
27
+
28
+
29
+ ```swift
30
+
31
+
32
+
33
+ let total: Int = 0
34
+
35
+ var text1: String?
36
+
37
+
38
+
39
+ // 宣言だけをする
40
+
41
+ let intVal: Int!
42
+
43
+
44
+
45
+ required init(coder aDecoder: NSCoder) {
46
+
47
+
48
+
49
+ // 初期値を設定
50
+
51
+ intVal = Int(text1!)
52
+
53
+ super.init(coder: aDecoder)!
54
+
55
+ }
56
+
57
+ ```
58
+
59
+
60
+
61
+ letで宣言してあるのでややこしいですが、やりたいことは以下のコードでできると思います。
62
+
63
+
64
+
65
+ ```swift
66
+
67
+
68
+
69
+ let total: Int = 0
70
+
71
+
72
+
73
+ // 初期値を設定する
74
+
75
+ var text1: String? = "123"
76
+
77
+
78
+
79
+ // 宣言だけをする
80
+
81
+ let intVal: Int!
82
+
83
+
84
+
85
+ required init(coder aDecoder: NSCoder) {
86
+
87
+
88
+
89
+ // 初期値を設定
90
+
91
+ intVal = Int(text1!)
92
+
93
+ //=> 123
94
+
95
+ super.init(coder: aDecoder)!
96
+
97
+ }
98
+
99
+ ```
100
+
101
+
102
+
103
+ 単純にサンプルを試したいだけでしたらviewDidLoad()に書けば良いと思います。
104
+
105
+
106
+
107
+ ```swift
108
+
109
+
110
+
111
+ override func viewDidLoad() {
112
+
113
+ super.viewDidLoad()
114
+
115
+
116
+
117
+ var text1: String? = "123"
118
+
119
+ let intVal = Int(text1!)
120
+
121
+ }
122
+
123
+
124
+
125
+ ```
126
+
127
+