回答編集履歴
2
説明修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
postType指定のイニシャライザを「指定イニシャライザ」にして、frame指定のみのイニシャライザ(`init(frame: CGRect)`)は定義しなければよいです。ベースクラスの指定イニシャライザ(`super.init(frame: frame)`)を呼び出したイニシャライザが、そのクラスの「指定イニシャライザ」になります。
|
2
2
|
|
3
|
-
UIViewの「指定イニシャライザ」が`init(frame: CGRect)`だからと言って、そのサブクラスも`init(frame: CGRect)`
|
3
|
+
UIViewの「指定イニシャライザ」が`init(frame: CGRect)`だからと言って、そのサブクラスも`init(frame: CGRect)`のイニシャライザを定義する必要はありません。
|
4
4
|
|
5
5
|
coder指定のイニシャライザ(`init?(coder aDecoder: NSCoder)`)は必須イニシャライザなので引き継いで実装する必要がありますが、初期化時にpostTypeを必須とするのであればStoryboardに貼り付けて使用することは想定していないと思うので、呼ばれたらエラーになるよう実装すればよいと思います。
|
6
6
|
|
1
誤字修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
UIViewの「指定イニシャライザ」が`init(frame: CGRect)`だからと言って、そのサブクラスも`init(frame: CGRect)`を「指定イニシャライザ」として定義する必要はありません。
|
4
4
|
|
5
|
-
coder指定のイニシャライザ(`init?(coder aDecoder: NSCoder)`)は必須イニシャライザなので引き継いで実装する必要があります
|
5
|
+
coder指定のイニシャライザ(`init?(coder aDecoder: NSCoder)`)は必須イニシャライザなので引き継いで実装する必要がありますが、初期化時にpostTypeを必須とするのであればStoryboardに貼り付けて使用することは想定していないと思うので、呼ばれたらエラーになるよう実装すればよいと思います。
|
6
6
|
|
7
7
|
以下、サンプルコードです。
|
8
8
|
``` swift
|