2012-07-19 56 views

回答

5

是的,像@"Hello world"這樣的字符串文字永遠不會被釋放,它們指向相同的內存,這意味着指針比較是真實的。

NSString *str1 = @"Hello world"; 
NSString *str2 = @"Hello world"; 
if (str1 == str2) // Is true. 

這也意味着,一個微弱的字符串的指針不會改變到零,因爲字符串常量永遠不會被釋放(這恰好爲正常的對象)。

__weak NSString *str = @"Hello world"; 
if (str == nil) // This is false, the str still points to the string literal