2013-07-11 38 views
0
NSString *string1 = @"string one"; 
    NSString *string2 = @"string two"; 
    NSString *string3 = [string1 stringByAppendingString:string2 ]; 

對於當前版本的Xcode,使用上面的代碼段,每個string1,string2,string3都會在編譯時或運行時定義嗎?什麼時候變量的值被定義?

回答

1

將在編譯時生成並在運行時執行的代碼爲變量本身分配空間(如果編譯器實際上認爲它需要這樣做)。這兩個常量字符串也將在編譯時創建,類似於常量C字符串。直到運行時纔會執行消息發送。

3

您可以在編譯時定義內存中的字符串(對於string1和string2)。

當執行各自指令時,string1,string2和string3將指向運行時的內存。

+0

您的回答在我看來是正確的。我剛剛選擇了另一個,因爲它是第一個。謝謝。 – user523234

相關問題