絶対に挫折しないiPhoneアプリ開発入門Part.18 ~Objective-Cのalloc,initとお花見~

前回:絶対に挫折しないiPhoneアプリ開発入門Part.17 ~Xcode4.2のScroll Viewで画面をスクロールしてみよう~


寒いですねーー!風邪をひいている人も多いみたいです><

手洗いうがいをきちんとしようと思います。いや、普段からしてますよ!もちろん!



さて、今日はふと思いまして、

alloc

init



についてすこしだけ書きます。思いつきです笑


まずObjective-Cにはスーパークラスがあって、それは

NSObject

といいます。

これがすべてのクラスの元になるんです。
自分でクラスを作るときにもこれのサブクラス、あるいはサブクラスのサブクラスとして定義する必要があります



そして、この母なる「NSObject」クラスで定義されているメソッドに、メモリ領域を確保する「alloc メソッド」、インスタンスを初期化する「init メソッド」が定義されています
どんなクラスももとをたどれば「NSObject」にたどりつくので、Objective-Cで定義するクラスはすべてallocメソッドとinitメソッドが使える訳です。




さて、考えてみましょうか。

たとえば、Personクラスからインスタンスをつくるとき、

Person *person_A = [[Person alloc] init];

のようにしますよね。



これってPersonクラスからインスタンスperson_Aっていう名前をつけて、あとはそれのために領域を確保、初期化って感じなのですが、
最近このallocとinitをうまくたとえるような方法はないかなーと思ったんです。

ひらめきました。。。


プログラムのことは現実世界に置き換えて考えるより、プログラムとして理解したほうがいいと個人的には思っていますが。



お花見の場所をとる時に似ているんです!!!



alloc は 「お花見をとる場所をまず見つけて、このへんにしようと考える

init は 「この場所でお花見をしようと思った場所にブルーシートをしく



allocはメモリ領域の確保、すなわちお花見をする場所をここにしようと場所をとるわけです。
それだけではお花見できません。
下にシートをしいて、「場」をつくらなくてはなりません。
それがinitです。


allocしてinitした状態がこちら




意外にけっこう面白い考え方なんではないかと自己満足にひたっているお花見のたとえ笑


早くポカポカの春がきてほしい。


次回:絶対に挫折しないiPhoneアプリ開発入門Part.19 ~xcode4.2のScroll Viewで画面をスクロールしてみよう(Storyboard編)~



======================
当ブログ管理人のツイッターこちら
◎フォローしてくださると泣いて喜びます!ツイッター上で当ブログの質問などにもできるだけお答えしますし、役に立つiPhoneアプリ開発情報もつぶやきます。個人的なご依頼(たとえば、プログラミングの家庭教師、Skypeレッスンをしてくれないか、iPhoneアプリ開発の勉強会ってやってるの、とかですね)でもかまいません。
スカイプレッスンについて
開発をしているとその都度ぶつかる問題があると思いますが、検索で調べてもなかなかわからない、あるいは調べても非常に時間がかかる場合があると思います。開発者のみなさんもお忙しいと思いますので、私のレッスンを受けながら開発を進めていただけると、大幅にお時間を短縮できます。加えて、iPhoneアプリ開発の基礎、応用が身につき、今後の開発もスムーズに進められます

お問い合わせはツイッター、またはhiyoshimarukoアットマークgmail.comまでお願いします。(アットマークを@にしてください)お待ちしております!





【絶対に挫折しないiPhoneアプリ開発入門】
番外編 絶対に挫折しないiPhoneアプリ開発入門 番外編1 プログラミング初心者が初めてアプリ開発に挑戦する時
1.絶対に挫折しないiPhoneアプリ開発入門Part.1 ~Xcode4.2でひよしまるを作ろう~
2.絶対に挫折しないiPhoneアプリ開発入門Part.2 ~iOS Developer Programに参加しよう~
3.絶対に挫折しないiPhoneアプリ開発入門Part.3 ~Xcode4.2の起動、InterfaceBuilderの利点欠点、神本紹介~
4.絶対に挫折しないiPhoneアプリ開発入門Part.4 ~Single ViewControllerからスタート~
5.絶対に挫折しないiPhoneアプリ開発入門Part.5 ~画面遷移、Tab Bar Controller,Navigation Controller,Table View Controller~
6.絶対に挫折しないiPhoneアプリ開発入門Part.6 ~UITableViewController その1、Tabの名前変更~
7.絶対に挫折しないiPhoneアプリ開発入門Part.7~Table View Controller その2(ファイルの接続)、Objective C、コメントについて~
8.絶対に挫折しないiPhoneアプリ開発入門Part.8 ~Table View Controller その3、ナビゲーションバーにタイトルと色をつける~
9.絶対に挫折しないiPhoneアプリ開発入門Part.9 ~Table View Controller その4、numberOfSectionsInTableView、numberOfRowsInSection、Xcodeの背景を黒に~
10.絶対に挫折しないiPhoneアプリ開発入門Part.10 ~Table View Controller その5、cellForRowAtIndexPath~
11.絶対に挫折しないiPhoneアプリ開発入門Part.11 ~Table View Controller その6、画面遷移、didSelectRowAtIndexPath、タブバーを消す、アニメーション~
12.絶対に挫折しないiPhoneアプリ開発入門Part.12 ~Table View Controller その7、セクションを使いこなすその1、セルの矢印を表示~
13.絶対に挫折しないiPhoneアプリ開発入門Part.13 ~Table View Controller その8、セクションを使いこなすその2、画面遷移~
14.絶対に挫折しないiPhoneアプリ開発入門Part.14 ~UIWebView、webページを表示する~
15.絶対に挫折しないiPhoneアプリ開発入門Part.15 ~UITextView、電話とリンクをText Viewで表示~
16.絶対に挫折しないiPhoneアプリ開発入門Part.16 ~Table View Controller その9、テーブルを画面遷移させない、App Store申請Reject~
17.絶対に挫折しないiPhoneアプリ開発入門Part.17 ~Xcode4.2のScroll Viewで画面をスクロールしてみよう~
18.絶対に挫折しないiPhoneアプリ開発入門Part.18 ~Objective-Cのalloc,initとお花見~