qua*_*ano 17 objective-c autorelease
在我不知情的情况下,我对一些被自动释放的物体感到有些恼火.它们可能是一件好事,但如果它们是,我想知道.文档没有说明哪些方法是自动释放对象,所以我通常会测试我的前进方向,这在我看来是愚蠢的.例如,[NSDate date]自动释放对象,[NSArray arrayWithObjects:...]也是如此.没有文件告诉你,你怎么知道的?
我开始看到一个模式,虽然像这样的方法,创建具有静态函数的对象的方法,总是返回自动释放的对象.这总是如此吗?
kub*_*ubi 21
基本上,如果您init
,copy
或retain
您负责释放它的对象.如果您不这样做,则不负责发布它.
许多类提供了+ className形式的方法,您可以使用它来获取类的新实例.这些方法通常称为"便捷构造函数",它们创建类的新实例,对其进行初始化,然后将其返回供您使用.虽然您可能认为自己负责释放以这种方式创建的对象,但根据之前列出的所有权政策,情况并非如此.因为类创建了新对象,所以它负责处理新对象.
归档时间: |
|
查看次数: |
3975 次 |
最近记录: |