作者zonble (zonble)
看板MacDev
標題Re: [問題] 字串前加@的意思?
時間Tue May 4 18:13:40 2010
※ 引述《iasm (魔術研究員)》之銘言:
: NSMutableString *mstr;
: mstr=[NSMutablestring stringwithstring: str1];
: [mstr insertString: @" mutable" atIndex:7];
: 最後的結果是"this is mutable string a";
: 而且實際上mstr這個mutable string其內的字串內容可以改
: 但為什麼要在 " mutable"前加代表常數的@呢
: 既然是給mutable string內容,加@就很矛盾了
: 煩請大家教教我,謝謝!!
1.mstr 是 mutable 的,所以 @" mutable" 就是 mutable?
這兩件事情沒有關係吧?
2.關於 @ 的意義,參見
http://tinyurl.com/24mtvg8 ,裡頭說
Defines a constant NSString object in the current module
and initializes the object with the specified string.
如果有 @,產生的才是 NSString 物件,如果你把 @ 拿掉,就會
變成 C 語言的 char *,加不加 @,重點不是設定成 Mutable 還是
inmutable,而是 ObjC 的字串還是 C 的字串。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.103.143
1F:→ uranusjr:簡單來講就是沒為什麼, 只是產生 NSString object 的語法 05/05 01:46
2F:→ uranusjr:因為 " " 被 C string 用走了, 所以要改一下 05/05 01:46
3F:推 leondemon:我的看法是: @符號是Obj-C在C語言上進行物件化的標示 05/05 19:05
4F:→ leondemon:是為了讓C語言成為OO的一種設計 05/05 19:06