我有这样的方法:
-(void)myMethod:(MyClass *)object {
self.object1 = object;
self.object2 = object;
....
}
和object1
和object2
的声明如下:
property (nonatomic, strong) MyClass *object1;
property (nonatomic, strong) MyClass *object2;
和MyClass是这样的:
@interface MyClass :NSObject
....
@end
以后当我修改self.object1
self.object2
被修改为时,我希望self.object2
在修改self.object1
答案 0 :(得分:4)
您需要制作两个属性copy
而不是sttrong
。但是,您需要使MyClass
符合NSCopying
协议,并且必须实施copyWithZone:
方法。
答案 1 :(得分:3)
您没有两个指向一个对象。
你有两个指向同一个对象的指针。
因此,如果您按照定义修改self.object1
,则会修改self.object2
更改此行为的唯一方法是让object1和object2指向两个不同的对象。