書籍紹介『エキスパートObjective-Cプログラミング』
先ほどなにげなくTwitterを眺めていたら、興味深い本が紹介されていました。
達人出版会
エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド
坂本一樹著
1,600円 (税込)
さっそく購入してみました。
参照カウントによるメモリ管理の説明部分なんかは、初心者でもわかりやすい(はず)。
私が今まで見た中で、最もわかりやすくretain,releaseについて説明してあります。
Objective-Cでプログラミングするなら、避けて通れないメモリ管理、
コンパイラが面倒みてくれるようになるっていっても、
やはりここは知っておくべき部分だと思います。
(この部分の最初のほうがサンプルで読めるようになってます。
ぜひ眺めてみて欲しいです。)
また、ブロック構文の説明やGrandCentralDispatchの説明も、
今まで見た資料よりも断然わかりやすいです。
ちょっと突っ込んだ内容に思えるかもしれませんが、
iOS,MacOSでのプログラミングをしていくうえでは
避けて通れない話題です。
現在ベータ版ですが購入する価値ありだと思います。
2011.10.15追記
いや〜読み始めましたが、この本すごいですよ。
丁寧な考え方の説明に始まり、じゃあ、実際中身どうなってるのさ?って
ところまでグングンと掘り進めてあります。
その考え方を実現するための知恵も見れちゃうわけです。
なので、読み進めるうちに頭が???だらけになる人も多いでしょう。
でも気にすることはありません。
最初は概念・考え方の部分だけ拾い読みして、
ふ〜ん、そんなもんなのね〜と思ってるだけでいいんです。
で、ふと、あれ?どうだっけって思ったときにまた手にとって調べる。
その繰り返して徐々にわかっていくことを楽しめばいいと思います。
この本に書いてある説明は、孫引きの説明ではなく、
著者が深いところまで調べ上げ、理解したうえで書いています。
こういう本こそ手元に持っておきたいと私は思います。







買わせていただきます!情報ありがとうございます!!
この本のメモリー管理の部分でオブジェエクとと言われているものは、
他のオブジェクト指向言語の入門書でいうところのインスタンスにあたります。
クラス名:その役割に与えられた名前
オブジェクト(インスタンス):その役割をはたす人・物。
その人・物が、私のものだよ〜って主張してる人が何人いるかが参照カウントです。
allocするってことは、その役割を果たす人、あるいは物を作るってことなんです。
なので、同じ役割をする人を何人でも作る事ができ、
それぞれが別の人と関係を持ちながら仕事をします。
そんな感じで、プログラムの中の人(物)のことを
イメージ出来るようになってくると、プログラムがとても身近に感じられるようになりますよ〜。
そのサイトでユーザー登録ができなくてまだ買えてません(泣)
また挑戦してだめだったら、管理会社に問い合わせてみます。
そうそう、”オブジェクト”っていくつか意味がありますよね。。
解説を読むときは、どれをさしてるのか確認するところから始まりますw
その、複数の人を作る大元の場所がデリゲートだと思ってるんですけど、それで合ってますかね?
デリゲートにはAさんが常にいて、他の〜.mにAさんの分身(か、同じ事ができる人)をよんでくる・・みたいなイメージなんです。
本登録してくださいね〜ってメールがすぐ届くはず・・・
まさにその通り。
AppDelegateさんが、そのアプリケーションの中で
仕事する人をつれてくる大ボスだと思ってて良いです。
で、ウインドウって枠組み用意して、まずはこの人が面倒みるから〜って
ビューコントローラーだのを諸々の必要なものを用意するところから
始まるわけです。
インターフェースビルダーとフレームワークに隠されちゃってて
読み取りにくいところなのに、よく気がつきましたね。
メールが迷惑メール欄に飛ばされてましたw
さらっと目を通してみたんですが、すごく分かりやすそうですね!じっくり読んでみます!!
いやいや・・andantino190さんのおかげです!!ありがとうございますm(_ _)m
実装の話題になると、かなり突っ込んだ話題になるので、
このあたりはわからなくても気にする必要はありません。
概要の説明部分は本当にきちんと説明されています。
孫引きの説明文ではなく、きっちっと理解してる方が
書いた文章っていうのはいいもんですね。
この本は、
とにかく、気負わずにこういう概念なんだ~っていうのを
さらっと拾い読みするところから入るのが良いと思います。
突っ込んだ話はソースに書かれたコメントだけ拾い読みして、
こんな考え方が使われてるんだ~へ~って思ってればよいです。
プログラミングしながら、ん?何だっけ?って思ったときに
読み直す。
それを繰り返しながら、少しずつ読めるようになっていくのを楽しむ。
そんな感じの本です。
でも、メモリ管理の概念の説明部分なんかは、
ほんと、良いと思いますよ。
入門書にこそこ概念の説明部分くらいの説明を入れてほしいくらいです。
こんにちは〜♪
mipoiAppです。
この本、わたしも気になります。
特にObjective-Cのメモリ管理については、
「よしわかったぞ!」
となってから、既に3回は
「あれ?理解しているのと違った」
となってますww
さらにA5チップ登場ということで、GCDとかマルチスレッドあたりがキーになりつつありますので、この辺も抑えておきたいですし。
それにしましてもいつも疑問に思ってるのですが、
「なんでUIButtonはalloc>initではなくautoreleaseタイプ(buttonWithType)でのインスタンス生成」
なんでしょうね・・。
UIBarButtonItemはalloc>initなのに。
この本、どうやって実装してるの?ってところまで
突っ込んで掘り下げて説明してますので、
上級者でもけっこう楽しめるんじゃないでしょうか。
そういえば・・・buttonWithTypeですねぇ・・・
んー ちらっと眺めた感じ、
UIButtonはbuttonWithTypeで指定された値によって、
自分のサブクラスのインスタンスを生成して返してるみたいですよ。
タイプによって初期化の仕方が若干ちがうんだけど
わしが面倒みてやるかい って感じでしょうかね…
購入しましたww
これから読んでみようと思います〜♪
この本もさることながら、あの達人出版界のポリシー?(最新の技術本を素早く技術者のもとへ)的なところも気に入りましたw
よい出会いがありました〜♪
ありがとうございました。
>>タイプによって初期化の仕方が若干ちがうんだけど
>>わしが面倒みてやるかい って感じでしょうかね…
あ!たしかに、ボタン(UIButton)ってRoudRect型やイメージセット型など指定タイプごとで大分異なってますよね!
使う側が複数のプロパティをこまごま設定しないと動かない、を避けるための仕組みなのかもしれませんね!
なるほど〜〜〜♪
あ、ヘッダでは非公開なクラスだったんだ・・・
class-dumpでのぞき見すると、
サブクラスのインターフェース覗き見できますよ〜
(最近ヘッダ見るまえにclass-dumpかけて検索してます。
だって英語読めないからコメント邪魔なんだもんw)
こんばんは〜。
ワタシもしっかり購入させていただきました。
で、著者の坂本さんが
Twitterのアカウントをお持ちでしたので感謝のメッセージを送信、と。
@splhack
「お役に立ててなによりです! 書籍紹介感謝しております。」
とのお返事をいただきました。
andantino190さんにここのコメントで転送させていただきますね〜。
おおお ありがとうございます〜。
この手のどうやって実現するんだ?っていうっていうところまで
調べ上げてある資料、なかなかないですね。
どういう概念で〜 っていうのが見えたら、
次に、それを実現させるためにどんな知恵つかったのさ〜
っていうのが面白い。
あ、こんな書き方あるんだっていうのに気付かされることが
とても多いんです。
達人出版会の高橋征義と申します。ご購入ありがとうございます!
自分で言うのも何ですが(とはいえ自分で書いたわけではないのですが)
いい本を出せて良かった、と思っております。
今後ともよろしくお願いいたします。
このくらいの突っ込んだ内容の本って、
翻訳でもないかぎりなかなか出てこないですね。
いや〜ありがたいですよ。こういう本だしていただけると。
今後もいろいろ期待してます〜。