1: 2017-12-07 (木) 05:44:26 njf[6] [7] [8] | 2: 2017-12-07 (木) 08:17:22 njf[6] [9] [10] | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | 普段、cocos2d-xやadobe airなど、クロスプラットフォームのフレームワークを使っているので、たまにObjective-Cを使わないと行けない場面で、なかなか文法などを思い出せないときがあります。そんなときのために、Objective-C固有の文法などをまとめていっています。 | + | *このページについて [#v6c0967b] |
+ | |||
+ | 普段、cocos2d-xやadobe airなど、クロスプラットフォームのフレームワークを使っているため、たまにObjective-Cを使う場面でなかなか文法などを思い出せないときがあります。そんなときのために、Objective-C固有の文法などをまとめていっています。 | ||
+ | |||
+ | Objective-Cは基本的な文法はC、C++、Javaなどと同じため、それらと異なる部分を抜き出して書いています。また、上記のように他言語を使うことが多く、Objective-Cでがっつり開発することはないため、各々の項目についての詳しい説明は省いています。 | ||
+ | |||
+ | *基本 [#n4f274d4] | ||
+ | |||
+ | **文字列 [#c7733e7a] | ||
+ | 引用符と共に最初に「@」をつけるとNSStringという型になります。基本的に文字列はこれを使います。 | ||
+ | |||
+ | NSString *s = @"これはテスト"; | ||
+ | |||
+ | **ログ出力 [#lc67acc8] | ||
+ | |||
+ | ログ出力はNSLogを使います。可変引数をとり、printfなどと同様のフォーマットが使えます。 | ||
+ | |||
+ | NSLog(@"Hello %d %d",10,20); | ||
+ | |||
+ | 結果 | ||
+ | |||
+ | Hello 10 20 | ||
+ | |||
+ | *クラス関連 [#f9e052ac] | ||
+ | |||
+ | **クラス定義 [#a5d1d8ae] | ||
+ | クラス定義は「@interface クラス名:親クラス」とします。 | ||
+ | @interface TestClass:NSObject{ | ||
+ | // プロパティ定義など | ||
+ | } | ||
+ | // プロトタイプ宣言など | ||
+ | @end | ||
+ | NSObjectは全てのクラスの元となるクラスなので、継承させるべき特定のクラスがないなら、これを継承させておくと便利です。 | ||
+ | |||
+ | **インスタンス変数の定義 [#i9be9d10] | ||
+ | 「@interface」で囲まれている中で定義します。 | ||
+ | @interface TestClass:NSObject{ | ||
+ | @public | ||
+ | int a; | ||
+ | @private | ||
+ | int b; | ||
+ | } | ||
+ | @end | ||
+ | |||
+ | 「public」「protected」「private」などのアクセス制限が使えます。 | ||
+ | |||
+ | **プロパティ定義 [#x794a50f] |
(This host) = https://njf.jp