ご感想

コメント欄に「iOSの教科書」をお読みになったご感想をお寄せください。よろしくお願いします。

広告

ご感想」への19件のフィードバック

  1. 初めまして。

    『iOSの教科書』を一通り終えたので、コメントさせて頂きます。

    まず思ったのは、非常に実践的であるという事です。

    プロラミング入門書の多くは、言語の背景や基礎知識といった所から始めるものですが、この本は、基礎的なアプリの制作から始まり、最後にC、C++といった言語の構造の説明があります。

    そして制作するアプリはごくシンプルなものなので、開発未経験者でも、難解な言語構造をさほど気にする事無く、実際に手を動かしながら、楽しくiOSの基礎を学ぶことができたと思います。

    実際に、僕は開発未経験者だったのですが、10日で一通り完遂することができました。
    (ちなみに僕は、C++に関してはopenFrameworks を触ったことがある程度です。)

    個人的に一番時間がかかったのは、snow leopard に Xcode 4.0 verをダウンロードするために、デベロッパメンバーに登録する作業と、開発に必要な登録作業でした。(笑)
    こちらに関してはAppleの規制があり、詳細なプロセスは解説されていないのですが、義務教育程度の英語がわかれば、ちょっと頑張ればすぐできるはずです。

    あと、これは個人的な問題かもしれませんが、終盤にC言語でのプログラミングの解説が載っているのですが(13章)、”Use Automatic Refernce Counting”のチェックボックス自体が存在していないみたいです。(環境: Mac OSX 10.6.7 Snow Lepard/ Xcode 4.2)

    無視してやった結果、特に問題はなかったのですが。

    全体的な感想としては、 課題として制作するアプリはシンプルですが、基本的な機能を網羅しているので、次へのステップアップに役立つなと感じました。そして、そのシンプルさが継続するモチベーションにもなったのではないかと思います。
     

  2. Daiki Ichikawaさん、感想を寄せていただき、ありがとうございました。開発経験が少ないとのことですが、10日間で本書を終えられたとは凄いと思います。

    ところで、Appleに資料によると、Snow LeopardのXcodeではARCは利用できないそうです。チェックボックスが現れないのもそのせいですね。
    http://developer.apple.com/library/mac/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html
    の最後のほうにある Can I develop applications for Mac OS X with ARC using Snow Leopard? で説明されています。

  3. 質問させて頂きます
    現在xcode4.21を使いiosの教科書を利用し学習しています
    interfaceBuilderを利用してビューに配置されたラベルとボタンをコードに結びつける部分で
    (59ページから)controlキーを押したままオブジェクトをクリックするとポップアップが表示されその中にコード部分に接続できる複数の+マークが現れます
    このなかの具体的にどの要素をコード部分まで青線を伸ばして引っ張っていくか記述がないため悩んでいます
    ご返答いただけると幸いです!よろしくお願い致します

    • yasushiさん、(59ページや複数の+マークというのが分からないので、想像でのお答えになりますが…)ボタンをcontrol-クリックして、すぐにマウス・ボタンを離されているのであれば、マウス・ボタンは押したままヘッダ・ファイルまでドラッグしてください。

      • 早速のご返答ありがとうございます!

        質問の仕方が悪くてすみません、、、
        具体的には
        5.3アウトレットとアクションの宣言と接続部分の
        3,数値表示ラベルをcontrolキーを押しながらクリックする。
        の操作において、controlを押しながらラベルをクリックすると
        label -0 とタイトル表記されたポップアップが表示され
        その要素としてrefarencing Outlets、refarencing Outlets Collectionsの2つがありこちらの2つどちらからでも青線がひけます 
        ボタンの方は要素が17ありそれのどちらからでも青線が引けます
        この部分が教科書と私の環境でかなり食い違っていたので、ご回答いただけると助かります  よろしくお願い致します!

      • yasushiさん、黒いウィンドウが開くのですよね? 先にお答えしたように「すぐにマウス・ボタンを離さず、マウス・ボタンを押したままヘッダ・ファイルにドラッグする」ことはできませんか?

  4. 赤松さん
    すみません!
    できました(^^; 自分が早合点してしまっていたにもかかわらず、丁寧にありがとうございます!!大変助かりました!!

  5. 度々質問すみません
    現在xcode4.21を使用して学習しています
    第5章カウンターの作成でひと通りボタンを配置してコードと結びつけ、実行しましたが、iphoneシュミレーターの画面がアプリケーションを実行しても真っ黒の状態でした。
    問題を切り分けようと5章に記載してあるxcodeのプロジェクトの作成手順1−17までの手順を終了したあとツールバーのRunボタンを押したのですが、黒画面が表示されるのみでどうもインターフェイスビルダーで作成された画面がよまれていないようです。エミュレータ上でアプリケーションを削除し、再度実行してみても状況は変わりませんでした、、
    どのあたりに問題があるのか見当がつかないので、ご教授いただけますと大変たすかります
    よろしくお願い致します!!

    • yasushiさん、状況が分かりかねますが、新しくプロジェクトを作ってシミュレータで実行すると灰色の画面が表示されるでしょうか?そうであれば、その状態からやり直すのが良いと思います。これに限りませんが、トラブルの際に最初からやり直すのはお薦めです。手間なようで早道だったりします。

      それからカウンターの作成手順はムービーにしていますので、参考にしてください。
      チュートリアル・ムービーを開く

  6. 初めまして。
    iosの教科書でとても楽しく勉強させて頂いております。

    初心者に優しく、今後のステップアップの方向も教えてもらえる素晴らしい書籍だと思っております。

    申し訳ありませんが、一つ質問させて下さい。

    先日、バランスアプリを完成させる事ができました。
    次にこのボールが壁にぶつかった時に画像を変更させたいと思い、いろいろ調べていたのですがわかりませんでした。
    イメージ的には、スマッシュアプリの時のように同じタップしたら変わるという感じにしたいのですが、highlightedの設定ではできないですよね。

    壁に当たった時なので、moveメソッドに組み込むのかなと考えていますが処理がわかりませんでした。

    もしよろしければヒントだけでも教えて頂けないでしょうか?

    お忙しい所申し訳ありませんが、宜しくお願い致します。

    • dubuddaさん どこで処理するかについては、まさにボールが壁にぶつかった時に呼ばれるメソッドを作っていますよね。それからハイライト画像に(人のタッチではなく)プログラムで切り替えることもできますが、実はこれはUIButtonクラスではなく、そのスーパークラスのUIControlクラスに定義されています。スーパークラス云々は第4部なので、ちょっと先ですが。

      • お返事ありがとうございます。

        わかりそうでわからないです。。。

        調べていると、ハイライト画像を使いたいのでUIControlStateHighlightedが関係してくるのでしょうか?
        壁に当たった時に人がタッチされた時と同じイベントを作らないといけないと考えているのですが。。

        自分でコードを組むとなると何から手をつけていいのやら。。
        今までの勉強法では役に立たないことを痛感しております。

  7. 最近業務でiOS開発をすることになり、勉強用の書籍やサイトを探していましたが、xcode4.2をサポートしているものがどうしても少ないと悩んでいたところで、本書の存在を知って購入するに至りました。
    おかげで「xcode4.2だとこれがどれに該当するんだ?」というIDE側の操作で悩むことがなくなったことで、アプリ開発の部分に集中できることができ、2日かけて全体を読み終えてコードの打ち込みも終えることができました。本当にありがとうございます。
    実は電子書籍を買うこと自体も初めてだったのですが、思っていたよりも遥かに使い勝手がいいことにようやく気がつきました(笑
    タブレット端末にデータを入れて、今後も上手く本書とつきあっていこうと思います。

    あと個人的に本書の中で、気になったところがありましたので記載させていただきます。第10章クロックの部分で、application:didFinishLaunchingWithOptions:内の記述、およびDelegate.hの記述部分に関してほぼ説明がなされていなかったのが気になりました。ユーザ・デフォルトの初期化関係の処理だということは何となく理解できたのですが…。

    以上になります、本当にありがとうございました。

    • arikiさん、ご感想をありがとうございました。気に入っていただけたようで何よりです。

      さて、ご質問のapplication:didFinishLaunchingWithOptions:を始めClockAppDelegate.mとClockAppDelegate.hの内容はテンプレートによって自動的に作成されたもので、特別な処理が必要なければそのままにしておいて構いません。クロックに関してはapplicationDidEnterBackground:でユーザ・デフォルトを保存しています(これは10.15で説明した内容です)。また、他のアプリでは特別な処理はないので〜AppDelegate.mのソースを掲載していません。

      ちなみにapplication:didFinishLaunchingWithOptions:はアプリケーション起動完了時に呼び出され、ここでウィンドウやビュー・コントローラの設定をしています。この処理でアプリのビューが目に見えるようになります。先に述べたように、これはテンプレートの内容ですので特に説明はしていませんが、ご了解いただければと思います。よろしくお願いします。

  8. iOS 初心者です。「iOSの教科書」で勉強を始めています。最近気になったのは、図に番号がついていて、文章に「何番の図参照」という風になっていると分かり易いなと思いました。

    • 大谷さん、コメントありがとうございました。図の番号は付いていますが、おっしゃる通り、文章では「〜番の図」のような表記をしていませんね。図に関する文章は、できるだけ近くになるように配置しているつもりですが、分かりにく箇所があるかもしれません。すべての文章に「〜番の図」と記すと煩雑になる場合もあると思いますので、今後の課題とさせてください。

  9. 先月末にMacとipadに入門した、iOS初心者、更にはMac初心者の無謀モノです;-)
    自力でDeveloper Programに入り、Webベースで情報を収集しながら進めていましたが、

    試し読みで気になり、先日電子書籍で購入しました。
    Macにすら慣れていない、Windowsユーザには、非常に分かりやすく助かりました。

    質問したい箇所があります。お忙しいことと思いますが、参考情報をいただけると幸いです。

    ①p.391 に
    ”プロジェクトの作成時に「Use Automatic Reference Counting」にチェックを入れると、必要とされなくなったオブジェクトの解放は、自動的に行われる”
    とありますが、メモリ解放は何も考えなくて良いということなのですか?
    ということは、各クラスにインスタンスメソッドdeallocを定義する必要も、インスタンスで使っていたメモリの解放する実装をする必要も無いということなのでしょうか?
    とあるWebでの記述で、deallocや**ViewControllerのviewDidUnloadでのメモリ管理の話をよく見かけていたので、困惑していたところでした。

    ②また同ページに
    ”[注釈]Automatic Reference Countingは、Xcode 4.2で追加された新しい機能だ。以前のXcodeで作成されたプロジェクトでは、オブジェクトの解放に関するコードを記述する必要がある”
    とありますが、
    このメモリ管理の仕組みは、iOS側にJVMのようなGCの機能があるのではなく、XcodeというIDEそのものが、メモリ管理についてよろしくやってくれている(コンパイル処理の前半で、メモリ管理のコードを自動で書き加えている?とか)ということでしょうか?
    この機能を前提としたコードで作って、古いバージョンのiOS端末上でも、メモリ解放が自動で働くのでしょうか?
    (私は、C++やCで書くときにはメモリ管理には特に気を使っていたので、それが何故要らないのか?気になってしかたがないです。それがOS側ではなく、XcodeというIDEのバージョン依存というところがよくわからない・・・。)

    ③最後に、駆け足で読んだの見落としたのかもしれませんが、
    **ViewControllerに、initを書いたのですが、呼ばれません。これもどこかのWebで、インスタンスの初期化のうち、表示系はviewDidLoadに、それ以外はinitに書くよう記載があったのですが、Xcodeのバージョンが新しくなったことで、これもお作法がかわったのでしょうか?(私の勘違いだと思いますが)

    長文になり申し訳ございませんが、アドバイスいただけると助かります。

    • (1)と(2)とはご想像の通りです。ただiOS 4では一部制限があり、iOS 3では動作しないので、OS側で対応する機構もあるのだと思います。

      (3)は〜AppDelegate.mでビュー・コントローラを生成して、その際にinitを呼び出していません(なのでinitは呼ばれません)。

      よろしくお願いします。

      • 早速ご回答いただき、ありがとうございます。
        (1)、(2)については、OS側ですか・・・。OSのバージョン次第では不具合になるかもしれないので、ターゲット次第ではこの機構は使わない方がよいかもしれませんね。
        (3)は見落してました。ありがとうございます。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中