2010-05-10 53 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这样的非正式场合,人们倾向于简化和错误理解,从而导致误解 - 同时,官方规则多年来被多次校正过。