Ios 属性属性
当子类化时,我倾向于给我的所有属性赋予属性(非原子,强),除了IBOutlet,当不是nib中的顶级对象时,它们是(非原子,弱) 是否存在这样一种习惯可能不安全的情况,并产生保留循环或其他此类负面影响Ios 属性属性,ios,properties,attributes,subclass,Ios,Properties,Attributes,Subclass,当子类化时,我倾向于给我的所有属性赋予属性(非原子,强),除了IBOutlet,当不是nib中的顶级对象时,它们是(非原子,弱) 是否存在这样一种习惯可能不安全的情况,并产生保留循环或其他此类负面影响 谢谢。对于您应该使用的nsstring(非原子,复制)。是的,这个习惯可能不安全,因为您似乎没有真正遵守属性赋予的规则 正确的方法是考虑如何使用该属性,并为其提供相应的属性 在某些情况下,这可能会出错: 代表:保留循环 内存管理:在两个类之间共享的映像不能再使用,您必须在这两个类上都将其置零 线
谢谢。对于您应该使用的nsstring(非原子,复制)。是的,这个习惯可能不安全,因为您似乎没有真正遵守属性赋予的规则 正确的方法是考虑如何使用该属性,并为其提供相应的属性 在某些情况下,这可能会出错:
- 代表:保留循环
- 内存管理:在两个类之间共享的映像不能再使用,您必须在这两个类上都将其置零
- 线程:将由多个线程访问的属性
这只是一个非常模糊的指南,但在ARC下对我非常有效。对此可能没有答案-我想不出任何东西。当然,如果你有代表,他们也应该很弱。让ARC做所有的重担:-)谢谢你,这让人放心。你会知道为什么吗?好建议!问题是这样的-如果字符串是可变的,那么字符串实际上是被复制的-您会得到另一个字符串。但是如果字符串是不可变的(即普通字符串),那么它只是被保留。我要向上射一箭!很好的提醒我们大家(我自己忘记了做这件事,即使我已经知道了很多年了)。感谢@davidhdhired Vibhor的解释,如果你喜欢这个,那么也给hkcktk一个提示(即点击向上箭头)。我知道你在这里是相当新的,但是帮助你的人需要获得积分:-)