じゃんけんアプリ01

http://d.hatena.ne.jp/moto_maka/20081118/1226953067#01
にあるチュートリアルは、Xcode4.4現在ではだいぶ仕様が変わっている(InterfaceBuilder->Storyboard)ために前知識なしだと厳しい内容でした。
しかし、ドットインストールで基礎を学んだことを生かしてじゃんけんアプリをXcode4.4で作ってみます。

手順

Xcode起動→新規プロジェクト
★Single View Application
 ・devices→デフォルトでUniversalになっているのをiPhoneに変更
・StoryBoardからモックを作成
 ・ボタンとラベルをのせて文字を書き換えるだけ
★UIとコードを結びつけるのに、InterfaceBuilderではなく、StoryBoard+AssistantEditor+ViewControllerを使う
・ボタンはOutletではなくActionとして結びつけるのに注意
★もとまかさんのページで、UIとコードをむすびつけるのに実際にコードを書くように指示されている部分は、AssistantEditor+StoryBoardからのドラッグで自動的に記述されるようになっている

★InterfaceBuilderというUI作成アプリとXcodeというコーディングアプリが、Xcode4.4では完全に一体のアプリになっているので、それぞれで作業した後の保存するタイミングなど、余計に気をまわさなければいけない部分が減ったので開発しやすくなった

★ただし、一体になりはしたものの、相変わらずちょくちょくバグらしきものがあるので、気をつけなければいけない部分は依然として存在する


※★は、もとまかさんのページと異なる部分です

詰まった部分

コードとUIを結びつけた後、Xcodeでビルドして実行時に return UIApplicationMain が何度も出てまともに実行できない。

解決策:
もう return UIApplicationMain で止まっても困らない! Xcodeでのデバッグ方法 – Zero4Racer PRO Developer's Blog

Xcodeでビルド時に return UIApplicationMain が出たときの対処 | iPhoneアプリ開発ブログ

個人的に役に立ったのは下のブログ記事でした。
いわく、UIとコードの結びつきが、UIレベルで残ってしまっていると。

実は最初に、ボタンに対してActionではなくOutletを指定してしまっていたのですが、それがStoryBoardのUI上のポップアップから見たときにゴミとして残ってしまっていました。
ソースコード上では削除、変更したしビルドも成功したから問題ないと思っていましたが、思わぬ罠がありました。
UIを使って結びつけた場合は、ちゃんとUIからも変更を反映させる必要があるとわかりました。

UIとコードの結びつきは、ソースレベルだけでなく、UIレベルからも同じになるように注意しなければならない。
ここまで気が回るのであればそれくらいやってほしいというところではありますが、現状自動的に修正してくれないのであれば自分で注意するしかありません。

進捗

モック作成、静的テキストの変更まで。
UI上のゴミが残っていることによりアプリが不自然な終了を繰り返すことで時間をとられた。
明日はボタンの処理を実装したい。