Dav*_*vid 3 reference-counting objective-c retaincount
一个哲学问题,各种各样.将常量字符串分配给(保留)的@property是否合适?或者,我应该这样做self.string = [NSString stringWithString:@""];
有内存泄漏吗?如果它被过度释放怎么办?
它是一个常量字符串,它的行为方式与NSString对象相同吗?
如果属性是(assign),那意味着它在运行循环后无效吗?
是的,没关系.无论你采用哪种方式,常量字符串仍然会被编译到你的程序中(因为你必须使用它[NSString stringWithString:@""]).常量字符串实际上并没有被保留/释放,但重要的是它的语义:你正在分配一个字符串(就你而言,它有一个net +0 retainCount - 你还没有alloc编辑它,因此,你不拥有它)到一个将拥有它的所有权的财产.如果属性是(assign),那么它仍然可以使用常量字符串,但在自动释放池耗尽后它将在语义上无效.
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |