繁体   English   中英

目标C更改对象的值

[英]Objective C change the value of an object

ElementObject1 *o1=   // An XML document's element with some value

ElementObject2 *o2=   //A new element with a new value to be replaced

我希望将“ o1指向的地址处的值”更改为“ o2指向的地址处的值”

当我说

o1=o2 this does not work 

我只想简单地编辑此XML对象,并用新元素更改其某些元素。

我该如何用Objective-c的方式做到这一点? 复制复制区?

是的,您必须实现该方法

- (id)copyWithZone: (NSZone *) zone

然后说

o1 = [o2 copy];

别忘了释放o1

[o1 release]; 

并添加协议

< NSCopying >在您的Model @interface中

您是否要制作两个具有相同值的不同对象? 如果是这样,请尝试:

o1 = [o2 copy];

请务必这样做:

[o1 release];

完成后。

如果您试图使两个指针都指向同一个对象,则上面的内容(o1 = o2)应该起作用。 如果要保留o1,请确保保留。 希望这可以帮助!

没有“更改对象的值”的常规工具。 您可以自由更改变量的值,但是对象只能通过其消息和属性的界面进行更改。 如果某个对象没有提供以某种方式进行变异的方法,那么您就不能以这种方式进行更改。 有些类具有完全替换其内容的方法-NSMutableArray和NSMutableString是立即想到的两个方法-但在Objective-C中没有通用的方法可以对任意对象执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM