Daily Archives: 2009/08/15

「ユメみるiPhone」を読んでみる:HelloWorld編

1
Filed under iPhone,
Tagged as , , ,

「ユメみるiPhone」という本を買い、本書だけを見ながらiPhoneアプリ開発を始めてみました。
他にもいろいろ本は出ているのですが、こういうタイプの本はみたことなかったので、実際どうなんだろう?と書籍の出来を確認したい気持ちで買ってみました。

ユメみるiPhone ―クリエイターのためのiPhone SDKプログラミング

著者/訳者:徳井 直生

出版社:ワークスコーポレーション( 2009-05-11 )

定価:¥ 3,465

Amazon価格:¥ 3,465

単行本 ( 208 ページ )

ISBN-10 : 486267058X

ISBN-13 : 9784862670588


ユメの価格

まず苦言から書いてしまうのだが、p.24で有償の「iPhoneデベロッパプログラム」についての言葉が危ういと思う。
税込み10,800円のこのプログラムについて「この際購入してしまいましょう。お金を払ってしまうと、アプリケーションを作らないとなんだか損した気持ちになりませんか?」と書いているが、このタイミングで買ってしまい、結局全く使い物にならなかったら、それは損した「気持ち」ではなく、実際に損することになる。iPhoneアプリ開発とはどういうものか、それを読者に全く知らせないうちにこういうことを書くのは煽り過ぎではないだろうか。
せめて、第3章の最初のアプリ”HelloWorld”を作りきってからにすべきだと思うのです。実際「iPhoneデベロッパプログラム」に入るのは、実機で動作させるためとAppStoreで発売するために必要なのだから、しばらく開発が進んでからでも問題ないはず。
yumemiru-book

不足気味な説明文でハマる

このように序盤の書き方を危惧するのは、実際にp.43の「インターフェイスとの接続」の項目でかなりハマったからだ。
Fig.30に相当する操作をしようとしても、なかなか紙面と同様な画面にならない。
Viewウィンドウをアクティブにすると、インスペクタウィンドウにOutletsの中に”helloLabel”が出てこないのです。

ちなみに私は、Objective-C、Xcodeは使ったことがないのですが、C/C++は理解できるし、その他スクリプト言語も少々分かり、VisualStudioも少々分かるのですが、それでもこの症状がどういうものかすぐには理解できなかった。ここまでの文章でViewとかの説明も全くしていないので、プログラム初心者なら絶対ここでハマり半分は脱落し絶望すると断言できる。ちょっと不親切かもしれない。

結論から言うと、次のような手順になる。なるべく詳細に書いてみました。

  • Xcodeのプロジェクトウィンドウで HelloWorldViewController.xib をダブルクリックすると、InterfaceBuilderでHelloWorldViewController.xibウィンドウが開きます。
  • HelloWorldViewController.xibウィンドウで、 View をダブルクリックすると、p.32あたりで文字を配置したViewウィンドウが開きます。
  • “Tools”メニューから”Inspector”をクリックし、Inspectorパネルを開きます。
  • Inspectorパネルの左から二つ目の矢印があるボタンをクリックし、Connectionsタブを開きます。
  • この状態で、HelloWorldViewController.xibウィンドウ内のFile’s OwnerやViewを選択してInspectorウィンドウがどのように切り替わるか確認してみます。
  • File’s Ownerを選んでいるときに、紙面と同様にOutlets内にhelloLabelなどが表示されていることが確認できます。ここで始めて、「HelloWorldViewController.xibのFile’s OwnerにHelloWorldViewController.hで記述した内容がリンクしている」ことが分かると思います。
  • (ちなみに、ここでInspectorパネルの右端のIdentityタブを選び、File’s Ownerの情報をみると、Class Identityに”HelloWorldViewController”とあるので、ここで関連づけられていることが想像できます)

初心者向けではない

その後、ビルドがうまく通り、HelloWorldのアプリを実機で動かすところまでやってみたのだが、NDAのこともありかけないことも多いせいか、この本だけでは足りないという人は多そうだ。
本書は初心者向けではない。何かしらの言語で何か製品を作ったことがある人なら問題ないかもしれない、というレベルだ。
扱っている題材が面白そうな雰囲気なので、それに惑わされて買っても、他の初心者向け本で挫折していたら厳しいかもしれない。
でも、そういう風に楽観視してハマる人も多そうなので、この本で気になるところがあったらこのエントリのように勝手に補完メモを書いていくことにしよう。

Read More »