Lang/Objective-C
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#bd4ea116]
#contents();
/////////////////////////////////////////////////////////...
* 文法 [#ad8bcbfd]
//=======================================================...
** class 宣言 [#d8957ea1]
- C++, Java で言うところの class に相当するもの
- &color(red){''@interface'' クラス名 [: 親クラス名]}; で...
@interface MyClass : SuperClass // コンパイラディレクテ...
- (TYPE)InstanceMethod: 仮引数リスト ; // インスタンス...
+ (TYPE)Method: 仮引数リスト; // メソッド
@end
//-------------------------------------------------------...
*** インスタンスメソッド [#g574affc]
- &color(red){''-''}; で始まる
- 返り値型は、 ''-'' に続いて &color(red){''(TYPE)''}; で...
-- 返り値を持たない場合は (void) で明示する。
-- 返り値型を明示しなかった場合のデフォルトは、 Objective...
//-------------------------------------------------------...
*** クラスメソッド [#ca0c9651]
- &color(red){''+''}; で始まる
- クラスメソッドにはインスタンスが存在しないため、暗黙の ...
//=======================================================...
** class の実装 [#x164eac8]
- ここでもコンパイラディレクティヴ &color(red){''@''}; に...
- class の実装は、 &color(red){''@imprementation''}; と &...
@imprementation MyClass : SuperClass
- (TYPE)InstanceMethod: 仮引数リスト {
// インスタンスメソッドの実装
}
+ (TYPE)Method: 仮引数リスト {
// メソッドの実装
}
@end
//=======================================================...
** class instance の生成 [#wab45d07]
- class instance を生成する場合には、そのクラスの alloc ...
- 下記の例では、クラス MyClass のインスタンスを生成し、 i...
id obj = [ MyClass alloc ]
-- alloc メソッドは、Objective-C の全ての class の親クラ...
- class を、メソッドを1回呼んで使い捨てにする場合は、下記...
[[MyClass alloc] MyMethod]
//=======================================================...
** メソッドの呼び出し [#j1606910]
- メソッドの呼び出しは、
id obj = [ MyClass alloc ]; // class instance を生成し...
[ obj Method ]; // obj に割り当てられた class が持つメソ...
/////////////////////////////////////////////////////////...
* Links [#vc35abbb]
- [[Nito's Page>http://wwwa.dcns.ne.jp/~nito/]]
- [[Objective-C入門>http://wisdom.sakura.ne.jp/programmin...
- [[【コラム】ダイナミックObjective-C (1) CocoaとObjectiv...
- [[Objective-Cは特殊な言語? - @IT>http://www.atmarkit....
/////////////////////////////////////////////////////////...
* 必要なパッケージ(Debian) [#v0139ef9]
gobjc
gobjc++ (Objective-C++を使う場合)
//=======================================================...
** GCC の場合 [#y2f81349]
- 古いMakefileの記法が必要になる:
.SUFFIXES: .m
.m.o:
$(CC) -c $(CFLAGS) $<
- クラスを使ったコードは、リンクするときに、libobjc が必...
- Foundation/NSObject.hをimportしてコンパイルすると...
"error: Foundation/NSObject.h: No such file or directory"
というようなエラーが出てしまう。この場合は、libgnustep-ba...
# aptitude install libgnustep-base-dev
その他、入れた方が良いかもしれないもの:
# aptitude install libgnustep-base-dev
# aptitude install gnustep
# aptitude install gnustep-devel
終了行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#bd4ea116]
#contents();
/////////////////////////////////////////////////////////...
* 文法 [#ad8bcbfd]
//=======================================================...
** class 宣言 [#d8957ea1]
- C++, Java で言うところの class に相当するもの
- &color(red){''@interface'' クラス名 [: 親クラス名]}; で...
@interface MyClass : SuperClass // コンパイラディレクテ...
- (TYPE)InstanceMethod: 仮引数リスト ; // インスタンス...
+ (TYPE)Method: 仮引数リスト; // メソッド
@end
//-------------------------------------------------------...
*** インスタンスメソッド [#g574affc]
- &color(red){''-''}; で始まる
- 返り値型は、 ''-'' に続いて &color(red){''(TYPE)''}; で...
-- 返り値を持たない場合は (void) で明示する。
-- 返り値型を明示しなかった場合のデフォルトは、 Objective...
//-------------------------------------------------------...
*** クラスメソッド [#ca0c9651]
- &color(red){''+''}; で始まる
- クラスメソッドにはインスタンスが存在しないため、暗黙の ...
//=======================================================...
** class の実装 [#x164eac8]
- ここでもコンパイラディレクティヴ &color(red){''@''}; に...
- class の実装は、 &color(red){''@imprementation''}; と &...
@imprementation MyClass : SuperClass
- (TYPE)InstanceMethod: 仮引数リスト {
// インスタンスメソッドの実装
}
+ (TYPE)Method: 仮引数リスト {
// メソッドの実装
}
@end
//=======================================================...
** class instance の生成 [#wab45d07]
- class instance を生成する場合には、そのクラスの alloc ...
- 下記の例では、クラス MyClass のインスタンスを生成し、 i...
id obj = [ MyClass alloc ]
-- alloc メソッドは、Objective-C の全ての class の親クラ...
- class を、メソッドを1回呼んで使い捨てにする場合は、下記...
[[MyClass alloc] MyMethod]
//=======================================================...
** メソッドの呼び出し [#j1606910]
- メソッドの呼び出しは、
id obj = [ MyClass alloc ]; // class instance を生成し...
[ obj Method ]; // obj に割り当てられた class が持つメソ...
/////////////////////////////////////////////////////////...
* Links [#vc35abbb]
- [[Nito's Page>http://wwwa.dcns.ne.jp/~nito/]]
- [[Objective-C入門>http://wisdom.sakura.ne.jp/programmin...
- [[【コラム】ダイナミックObjective-C (1) CocoaとObjectiv...
- [[Objective-Cは特殊な言語? - @IT>http://www.atmarkit....
/////////////////////////////////////////////////////////...
* 必要なパッケージ(Debian) [#v0139ef9]
gobjc
gobjc++ (Objective-C++を使う場合)
//=======================================================...
** GCC の場合 [#y2f81349]
- 古いMakefileの記法が必要になる:
.SUFFIXES: .m
.m.o:
$(CC) -c $(CFLAGS) $<
- クラスを使ったコードは、リンクするときに、libobjc が必...
- Foundation/NSObject.hをimportしてコンパイルすると...
"error: Foundation/NSObject.h: No such file or directory"
というようなエラーが出てしまう。この場合は、libgnustep-ba...
# aptitude install libgnustep-base-dev
その他、入れた方が良いかもしれないもの:
# aptitude install libgnustep-base-dev
# aptitude install gnustep
# aptitude install gnustep-devel
ページ名: