ocとc言語の対比
1877 ワード
1.ソースファイルの比較 C言語でよく見られるソースファイル.hヘッダファイル,.cファイル ファイル拡張子
ソースタイプ
.h
関数宣言を保存するヘッダー・ファイル
.c
C言語ソースファイル、ヘッダファイルで宣言する方法を実現する OCのソースファイル.hヘッダファイル,.m与.mmの実装ファイル ファイル拡張子
ソースタイプ
.h
クラス、メソッド、プロパティの宣言を含むヘッダファイル.
.m/.mm
クラスの実装ファイル、コンパイルに参加するファイル、クラスで宣言されたメソッドを実装するために使用されます.
—
2.キーワードの比較 C言語のキーワードは、OCソースプログラムで を使用できます. OCに追加されたキーワードを使用する場合、一部のキーワードは「@」で始まる 3.データ型比較 C言語データ型 OCデータ型 を選択します.
説明
BOOL
真と偽の値を取るのは2つしかありません
NSObject *
OCのオブジェクトタイプ
id
ダイナミックオブジェクトタイプ、万能ポインタ
SEL
セレクタデータ型
block
コードブロックデータ型
4.プロセス制御文の比較 OC強化forループ(java,C#ともに対応文法) 注意:メソッドはクラスにしか書けませんが、関数はどこにでも書けます. オブジェクトメソッド、オブジェクト呼び出しメソッド を使用クラスメソッド、クラス名呼び出しメソッド を使用
5.オブジェクト向けの新規構文プロパティジェネレータ @property @synthesize
分類 分類と継承 分類拡張クラスを使用し、サブクラス化 を必要としない
プロトコル プロトコル宣言メソッド を使用プロトコルはC#,javaのインタフェース と類似している.
6.新規異常処理エラー情報を処理するための .形式: @try .... @catch .... @finally
例
ソースタイプ
.h
関数宣言を保存するヘッダー・ファイル
.c
C言語ソースファイル、ヘッダファイルで宣言する方法を実現する
ソースタイプ
.h
クラス、メソッド、プロパティの宣言を含むヘッダファイル.
.m/.mm
クラスの実装ファイル、コンパイルに参加するファイル、クラスで宣言されたメソッドを実装するために使用されます.
—
2.キーワードの比較
説明
BOOL
真と偽の値を取るのは2つしかありません
NSObject *
OCのオブジェクトタイプ
id
ダイナミックオブジェクトタイプ、万能ポインタ
SEL
セレクタデータ型
block
コードブロックデータ型
4.プロセス制御文の比較
for (NSString * name in NSArray){
NSLog(@”%@”,name);
}
- (id)initWithString: (NSString * )name;
+ (MyClass *)createMyClassWithString: (NSString *)name;
5.オブジェクト向けの新規構文
//
@property (nonatomic,strong)NSString * name;
//
@synthesize name = _name;
@interface NSString (MyNSString)
- (NSString *) encryptWithMD5;
@end
@protocol MyProtocol
- (void)myProtocolMethod;
@end
6.新規異常処理
// car
Car *car = [Car new];
@try {
//
[car test];
}@catch (NSException *exception) {
NSLog(@"%@",exception.name);
}@finally {
NSLog(@" !
");
}