I have Three class A ,B and C.
@interface ClassA
@property (nonatomic,strong) NSMutableArray *classCArray;
@end
@implementation ClassA
...
@end
@interface ClassB
@property (nonatomic,strong) NSMutableArray *classCArray;
@end
@implementation ClassB
...
@end
@interface ClassC
@property (nonatomic,strong) NSString *name;
@end
@implementation ClassC
...
@end
Then I create instance "a" of Class A, set "a" variable classCArray ,and pass a.classArray to "b"(instance of ClassB).
ClassA *a = [ClassA alloc] init];
ClassC *cInClassA = [ClassC alloc] init];
cInClassA.name = @"jack";
[a.classCArray addObject:c];
ClassB *b = [ClassB alloc] init];
b.classCArray = a.classCArray;
ClassC *cInClassB = b.classCArray[0];
cInClassB.name = @"Bob";
After above code , cInClassA.name changed.(eauqls "Bob") I don't hope this happen. How I can do ?