5: 2017-12-08 (金) 09:16:05 njf |
現: 2018-05-22 (火) 18:30:10 njf |
| *このページについて [#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でがっつり開発することはないため、各々の項目についての詳しい説明は省いています。 |
| - (戻り値の型) メソッド名:(型名)引数 ラベル:(型名)引数 ラベル:..... | | - (戻り値の型) メソッド名:(型名)引数 ラベル:(型名)引数 ラベル:..... |
| とします。 | | とします。 |
| + | |
| + | メソッドはprivateとかはないのですが、C言語などと同じでヘッダーファイルにプロトタイプ宣言を書くか、「.m」ファイルに書くかで関数の公開範囲を制限できます。つまり、ヘッダーファイルにプロトタイプ宣言を書かずに「.m」ファイルに |
| + | |
| + | @interface TestClass() |
| + | - (void) privateMethod; |
| + | @end |
| + | |
| + | と書いておけば、privateメソッドと同じように使えます。クラス名の後に「()」を忘れないようにしてください。 |
| + | |
| + | また、@propertyとかの前にメソッドを定義しようとするとエラーになります。 |
| | | |
| **クラスを使う [#t8c2e54c] | | **クラスを使う [#t8c2e54c] |
| superを使います。 | | superを使います。 |
| [super メソッド名:変数とか] | | [super メソッド名:変数とか] |
| + | |
| + | **自分のインスタンスへのアクセス [#l05a9438] |
| + | selfを使います。thisではありません |
| + | [self myMethod]; |
| | | |
| *@なんとか [#e9fe4863] | | *@なんとか [#e9fe4863] |
| | | |
| **@interface [#s3f25a59] | | **@interface [#s3f25a59] |
- | Cとかで言うところのプロトタイプ宣言にあたるもの。@endまでに変数と関数の定義を書く。 | + | Cとかで言うところのプロトタイプ宣言とかにあたるもの。@endまでに変数と関数の定義を書く。 |
| | | |
| **@implementation [#g86003d6] | | **@implementation [#g86003d6] |