我是Objective-C的新手,需要指針概念的幫助。我寫這個代碼:瞭解數組指針
//myArray is of type NSMutableArray
NSString *objectFromArray = [myArray objectAtIndex:2];
[objectFromArray uppercaseString];
我認爲這將改變在myarray的字符串[2],因爲我得到實際的指針。不應該對解除引用的指針進行任何更改,這意味着該位置中的對象會發生變化?或者這與'string immutability'有關?無論哪種方式,當我使用NSLog並迭代myArray時,所有的字符串仍然是小寫字母。
奧列給你你需要的答案。但是,對於一個新來ObjC的人來說,我發現一些額外的指導意見並不支付將指針指向ObjC對象的指針*本身。把它們想象成可以用objc括號符號,點符號等「消息」的「對象」。如果你試圖對它們進行任何指針操作(比如明確的解引用,指針算術等等),它幾乎總是錯誤的方式往往會發生壞事。 – jemmons
感謝您的提示。我之前對指針有一個非常基本的想法,但在學習ObjC之後,我覺得我已經忘記了一切:D – XSL
老實說,這可能是最好的;-) – jemmons