0
    NSString *string1 = @"string one";
    NSString *string2 = @"string two";
    NSString *string3 = [string1 stringByAppendingString:string2 ];

Xcode の現在のバージョンでは、上記のスニペットを使用して、string1、string2、string3 のそれぞれがコンパイル時または実行時に定義されますか?

4

2 に答える 2

3

コンパイル時にメモリ内の文字列を定義します (string1 と string2 の場合)。

string1、string2、および string3 は、それぞれの命令が実行されている実行時にそのメモリを指します。

于 2013-07-11T08:09:24.053 に答える
1

変数自体にスペースを割り当てるコード (コンパイラが実際にそうする必要があると判断した場合) は、コンパイル時に生成され、実行時に実行されます。2 つの定数文字列は、C 定数文字列と同様に、コンパイル時にも作成されます。メッセージ送信は実行時まで実行されません。

于 2013-07-11T08:09:00.643 に答える