今度はUIViewでハマってた

UIViewのtagに0を使用してはいけない。なぜならデフォルト値が0だから。
値を設定するときは0以外の値にしておかないと、viewWithTagで呼び出そうとしたときに他のtag値設定していないUIViewインスタンスと区別がつけられなくなってしまう。
値はenumでも指定できるが、そのときは最初の要素を1としてしておくなど、どの値も0にならないようにする考慮が必要だ。