4: 2017-12-08 (金) 09:12:12 njf[6] [7] [8] | 現: 2018-05-22 (火) 19:30:10 njf[6] [9] [10] | ||
---|---|---|---|
Line 1: | Line 1: | ||
*このページについて [#v6c0967b] | *このページについて [#v6c0967b] | ||
- | 普段、cocos2d-xやadobe airなど、クロスプラットフォームのフレームワークを使っているため、たまにObjective-Cを使う場面でなかなか文法などを思い出せないときがあります。そんなとき、ひとまず読める程度に思い出すために、Objective-C固有の文法などをまとめていっています。 | + | 普段、クロスプラットフォームのフレームワークを使っているため、たまにObjective-Cを使う場面でなかなか文法などを思い出せないときがあります。そんなとき、ひとまず読める程度に思い出すために、Objective-C固有の文法などをまとめていっています。 |
Objective-Cは基本的な文法はC、C++、Javaなどと同じため、それらと異なる部分を抜き出して書いています。また、上記のように他言語を使うことが多く、Objective-Cでがっつり開発することはないため、各々の項目についての詳しい説明は省いています。 | Objective-Cは基本的な文法はC、C++、Javaなどと同じため、それらと異なる部分を抜き出して書いています。また、上記のように他言語を使うことが多く、Objective-Cでがっつり開発することはないため、各々の項目についての詳しい説明は省いています。 | ||
Line 80: | Line 80: | ||
- (戻り値の型) メソッド名:(型名)引数 ラベル:(型名)引数 ラベル:..... | - (戻り値の型) メソッド名:(型名)引数 ラベル:(型名)引数 ラベル:..... | ||
とします。 | とします。 | ||
+ | |||
+ | メソッドはprivateとかはないのですが、C言語などと同じでヘッダーファイルにプロトタイプ宣言を書くか、「.m」ファイルに書くかで関数の公開範囲を制限できます。つまり、ヘッダーファイルにプロトタイプ宣言を書かずに「.m」ファイルに | ||
+ | |||
+ | @interface TestClass() | ||
+ | - (void) privateMethod; | ||
+ | @end | ||
+ | |||
+ | と書いておけば、privateメソッドと同じように使えます。クラス名の後に「()」を忘れないようにしてください。 | ||
+ | |||
+ | また、@propertyとかの前にメソッドを定義しようとするとエラーになります。 | ||
**クラスを使う [#t8c2e54c] | **クラスを使う [#t8c2e54c] | ||
Line 110: | Line 120: | ||
superを使います。 | superを使います。 | ||
[super メソッド名:変数とか] | [super メソッド名:変数とか] | ||
+ | |||
+ | **自分のインスタンスへのアクセス [#l05a9438] | ||
+ | selfを使います。thisではありません | ||
+ | [self myMethod]; | ||
*@なんとか [#e9fe4863] | *@なんとか [#e9fe4863] | ||
**@interface [#s3f25a59] | **@interface [#s3f25a59] | ||
- | Cとかで言うところのプロトタイプ宣言にあたるもの。@endまでに変数と関数の定義を書く。 | + | Cとかで言うところのプロトタイプ宣言とかにあたるもの。@endまでに変数と関数の定義を書く。 |
**@implementation [#g86003d6] | **@implementation [#g86003d6] | ||
Line 120: | Line 134: | ||
**@autoreleasepool [#ef0c8648] | **@autoreleasepool [#ef0c8648] | ||
- | 囲まれた範囲はメモリがかってに解放される。 | + | 囲まれた範囲はメモリが自動で解放される。 |
**@property [#qbc2f41a] | **@property [#qbc2f41a] |
(This host) = https://njf.jp