我想查看保留、分配和复制 setter 和 getter 方法的代码,谁能指导我一些有用的堆栈溢出帖子或任何其他教程链接。提前感谢并问候萨阿德·艾哈迈德
问问题
897 次
2 回答
1
您通常需要声明实例变量的所有权。请参阅 Objective-C 内存管理规则。使用保留属性,您的属性设置者声称拥有新价值的所有权并放弃旧价值的所有权。使用 assign 属性,周围的代码必须这样做,这在职责和关注点分离方面同样混乱。使用 assign 属性的原因是您无法保留该值(例如 BOOL 或 NSRect 等非对象类型),或者保留它会导致不必要的副作用。
顺便说一句,在 NSString 的情况下,正确的属性类型通常是副本。这样,如果有人传入 NSMutableString(这是有效的——它是一种 NSString),它就不会从你下面改变。
浏览这些链接。希望您能通过这些链接更好地理解 -
于 2012-10-01T09:00:29.893 回答
1
本指南很好地解释了这些原则。我自己用过几次作为参考。
http://blog.ablepear.com/2010/04/objective-c-tuesdays-instance-variables_20.html
于 2012-10-01T09:02:52.600 回答