teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/03/06 02:35

投稿

hoshi-takanori
hoshi-takanori

スコア7903

answer CHANGED
@@ -1,4 +1,10 @@
1
1
  CustomView.xib の「classのところにもCustomViewと記載」が問題なので、これを空欄にしましょう。
2
2
  (Main.StoryBoard のビューの class は CustomView のままで大丈夫です。)
3
3
 
4
- CustomView.xib の View は、CustomView そのものではなく、CustomView の loadNib メソッドで `if let view = 〜` として読み込まれる CustomView の子ビューです。この class を CustomView にしてしまうと、CustomView.xib を読み込んだときにも loadNib メソッドが呼ばれ、その中でさらに CustomView.xib が読み込まれ、さらにその loadNib メソッドでも CustomView.xib が読み込まれ…ということになり、無限再帰ループになってしまいます。
4
+ CustomView.xib の View は、CustomView そのものではなく、CustomView の loadNib メソッドで `if let view = 〜` として読み込まれる CustomView の子ビューです。この class を CustomView にしてしまうと、CustomView.xib を読み込んだときにも loadNib メソッドが呼ばれ、その中でさらに CustomView.xib が読み込まれ、さらにその loadNib メソッドでも CustomView.xib が読み込まれ…ということになり、無限再帰ループになってしまいます。
5
+
6
+ ---
7
+
8
+ アウトレット接続のことを忘れてて失礼しました。その場合は、View ではなく File's Owner の class を CustomView にして、File's Owner に対して接続する必要があります。
9
+
10
+ loadNibNamed の第 2 引数 onwer: self に渡したものが File's Owner になります。