Objective-Cの基本
■コメント
// 一行の場合 /* 複数行の場合 */
■ステートメント
// 一行の場合 /* 複数行の場合 */
■ファイル
インターフェースファイル
.hの拡張子ファイルのもので、クラスの定義を記述する。
#import <Foundation/Foundation.h>
@interface Animal:NSObject {
id _name;
}
@property(copy, readwrite) NSString *_name;
-(id) init:(NSString *)name;// initialize
-(NSString *) cry: (NSString *)name;// instance method
+(NSString *) getKind; // class method
@end
実装ファイル
#import "Animal.h"
@implementation Animal
@synthesize _name;
- (id) init: (id) name {
[super init];
self._name = name;
return self;
}
-(NSString *)cry: (NSString *)name{
return [NSString stringWithFormat:@"cry! from %@ to %@", self._name, name];
}
+(NSString *)getKind{
return @"Animal";
}
@end
コンストラクタというものはない。イニシャライズというのがそれに近い気がする。
■インポート
以下のように記述して外部ファイルをインポートする。
標準ライブラリのディレクトリから
#import <lib.h>
例えば以下のように記述する。
#import <UIKit/UIKit.h>
現在のディレクトリから
#import "filename.h"
PHPのrequire_onceのように、一度インポートされたら再度インポートされない。C言語のincludeとは、その点が異なる。
■コンパイラディレクティブ
宣言
クラスの宣言
@interface
クラスの実装
@implementation
プロトコル宣言
@protocol
上述の宣言の終了
@end
可視性
// 宣言したクラスのみ @private // 宣言したクラスとサブクラス @protected // すべてのクラス @public
指定しない場合はprotectedとなりsetterやgetterを使ってアクセスすることになる。
例外
以下のように記述して例外をキャッチする。
@try {
// something
}
@catch (NSException *exception) {
NSLog(@"main: Caught %@: %@", [exception name], [exception reason]);
}
@finally {
// something
}
また、以下のようにして例外をスローする。
NSException *exception = [NSException exceptionWithName:@"HogeException" reason:@"No, hogehoge!" userInfo:nil]; @throw exception;
他の場所で定義されたクラスの名前を宣言
@class
指定されたメソッドを識別するセレクタ
@selector(method)
指定された名前のプロトコル
@protocol(name)
指定された構造体をエンコードする文字列
@encode(spec)
指定されたクラスのインスタンスの内部データ構造
@defs(className)
NSStringオブジェクト
@"hogehoge"
1スレッドのみ実行可能なブロックの定義
@synchronized
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする