使用runtime 深拷贝

- (void)copy:(NSObject *)object {
    unsigned int property_count = 0;
    objc_property_t * propertys = class_copyPropertyList([object class], &property_count);
    for (int i = 0; i < property_count; i++) {
        objc_property_t property = propertys[i];
        const char * property_name = property_getName(property);
        NSString * property_name_string = [NSString stringWithUTF8String:property_name];
        [self setValue:[object valueForKey:property_name_string] forKey:property_name_string];
    }
    free(propertys);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容