UIToolbarを xib化することはあまりないかと思いますが、今回自分でやったときにハマった点があったので共有です。
問題
UIToolbarを使うとき、状況によって配置するUIBarButtonItemを変えたいことがあると思います。
UIToolbarもItemもStoryboardで作成した場合は問題ありませんが、xib上でUIToolbarと後から使うItemを用意するといった条件下では、いざItemの変更をしようとしたとき、xibロード時に表示されていないItemは保持されていないため、アクセスできなくなってしまいます。
コードで追加すれば問題ないと思いますが、せっかくxib化しているので、ItemもIBOutletとして扱いたいです。
対策
通常weakで宣言するIBOutletをstrongで宣言します。
これでxibからinstantiateWithOwnerした段階で、すべてのパーツがロードされ、しかも最初にUIToolbarに配置されていないItemもアクセスして配置することができるようになります。
パーツはViewControllerにstrong参照されているわけではないので、UIToolbarが不要になった時点で一緒に廃棄されます。
以上、UIToolbarをxib化するときのTipsでした。