2012年8月28日火曜日

Objective-Cを独習

夏休みに予定を入れ忘れたので、Objective-Cを学ぼうと思います。

取りあえず、以下を読んである程度の文法を理解した。
http://wisdom.sakura.ne.jp/programming/objc/index.html

#検索したら、以下にキレイに文法がまとまっているサイトがありました。
http://d.hatena.ne.jp/fn7/20100203/1265207098

これを読んでわからなかった事について検索。

プロパティがよくわからん。
➡ 外部に公開しているインスタンス変数のこと。@propertyで宣言する。
以下の用に、ヘッダファイル内でインスタンス変数を宣言する方法は古いらしい。
➡ http://www.awaresoft.jp/ios-dev/item/115-ivar-naming-convention.html

@interface Hoge {
  NSString* a;
  NSInteger b;
}
@end

@synthesizeってなに?
➡ Getter、Setterをコンパイル時に自動生成して提供する。
でも、上記アクセサメソッド渡したら、インスタンス変数隠蔽できなくない?
➡ http://ishwt.net/blog/2010/05/21/objc20-property/
つまり、

@interface Hoge {
  NSString* a;
  NSInteger b;
@property (readonly, retain) NSString* a;
@property (readonly, assign) NSInteger b;
@end

って感じで、readonlyをつけると、外部からのアクセスにより書き換えられる心配はなくなりますってこと。

これからObjective-Cを学ぶなら、以下の本が良さそうなので購入してみた。




ちなみに、目標はcocos2dを使ってゲームを作ってみること。
以下の本が良書として推薦しているサイトが沢山あったが、既に新バージョンがでているため、購入はオススメしない。次作がでるまで待つか、他の本をあたろう。
#そりゃcocos2dのofficialが一番いいと思うけど。。。




現時点では、以下の本に期待。
#洋書なので、翻訳版が早くでることを期待して。

0 件のコメント:

コメントを投稿