2010-05-10 54 views
1

UIButton的setTitle方法是否保留作爲參數傳遞的NSString?Objective-C/UIButton/SetTitle

我想我可以依靠的事實屬性定義爲:

財產(非原子,只讀,保留)的UILabel * titleLabel

在這種情況下,我認爲它確實保留了串。

感謝, Apple92

回答

0

是 - 你幾乎回答了你自己的問題在那裏。

不是所有的API都保留原來的NSString可能會以某種方式更改 - 一個API可能會收到一個NSString引用,但它實際上是一個NSMutableString,用於exapmle。

Google coding standards for Objective C有一個關於這部分,here

1

您可以在框架類數保留的東西,他們需要的,除非另有記載。這是Cocoa的memory management rules的一部分。你應該閱讀該文檔並讓它沉浸其中,因爲一旦你理解了它,基本上所有的內存管理問題都會消失 - 相反,如果你沒有花時間去理解那些文檔,你總會感到不確定。幸運的是,這很簡單。

此外,我會小心過度依賴其他人告訴你的規則。特別是在像Stack Overflow這樣的非正式場合,人們傾向於簡化和錯誤理解,從而導致誤解 - 同時,官方規則多年來被多次校正過。