iOS的copyWithZone:方法的通用实现

如果只需要一层的的深度复制,可以使用通用实现,效率高,代码也少。ARC代码如下:
- (id)copyWithZone:(NSZone *)zone {
    id copyInstance = [[[self class] allocWithZone:zone] init];
    size_t instanceSize = class_getInstanceSize([self class]);
    memcpy((__bridge void *)(copyInstance), (__bridge const void *)(self), instanceSize);
    return copyInstance;
}


有一个问题,这样做会破坏掉引用计数,应该如何解决呢???

你可能感兴趣的:(iOS的copyWithZone:方法的通用实现)