技術はメシのタネ

底辺プログラマで技術の向上を目指しているけれどやりたい事が無くて困っている

Xcodeェ……

うん、本当はスクショとれればよかったんだけどね。
そんな余裕なかったからね。
……仕事中のことだったしね。

数日前、仕事に追われていて、とんでもないことが起きた。

Xcodeでstoryboard上のパーツからソースコード上にctrl押しながらピロピロピロってIBOutlet置いたのよ。
変数名書いて、connectボタンをポチッとな!
ってやったらさ……。





Xcode、落ちやんの。



なんだよもー、っつって、Xcode再起動させて、もっかい同じことするやん?





Xcode、落ちやんの。



仕方がないからさ、Mac再起動するやん? で、Xcode再起動させて、もっかい同じことするやん?





Xcode、落ちやんの。



え、もうどういうことなん?
困惑しかないわあ……。

storyboardのDocument Outlineのパーツ選んで引っ張ってもダメ。
storyboardのDocument Outlineのパーツをctrl押しながらクリックして出る、黒地に白抜きのメニューからReferencing Outletsの+からドラッグしてもダメ。
ユーティリティエリアConnections Inspectorから引っ張ってもダメ。

ダメ、ダメ、ダメ。

なんかね、クラッシュログ見るとね、swiftコードジェネレーターが、とかゆうてんのよ。
なんのことやねん……。
なんか、何が悪いとか、メッセージ残してから逝けや。
ダイイングメッセージ残してから逝けや。

何か他に、ソースにIBOutlet貼っ付ける方法、ないんかな、ってググってたら、ありました。
ありがとうグーグル先生!

@IBOutlet weak var hogeButton: UIButton!
  1. ソースファイルにコードを記述する
  2. パーツの置いてあるコントローラをstoryboardのDocument Outlineから選択
  3. ユーティリティエリアConnections Inspectorを選択
  4. Outletsの中に先ほどソースに書いたhogeButtonがあるので、この+ボタンから、Interface Builder上のパーツへ向けてドラッグ

そう、クラッシュログにちゃんとヒントはあったんです。
GUI操作でIBOutletSwiftコードを生成しようとしたらクラッシュした、っつー意味だったんですね。

……まあ、それがなんでなのかはわかりませんけれども。


締め切り間際で時間のない中、1時間近く費やしましたけど、なんとかなってよかった。
もしお困りの方がいらっしゃいましたら、ぜひ一度お試しあれ。