我有一个自定义类,它有一些属性。我想复制这个类的一个对象,所以我得到了第二个具有相同内容的对象 例如:
MyCustomClass *objectName = [[MyCustomClass alloc] init];
// fill here with some properties
objectName.propertyOne = @"smth";
objectName.propertyTwo = @"smth";
// And copy my object
MyCustomClass *secontObject = [objectName copy];
是否存在类似“复制”方法的内容?
注意:已经内置的真实复制方法没有帮助。
答案 0 :(得分:2)
内置任何内容。为此包含了NSCopying协议,但由于它只是一个协议,因此您必须自己实现复制逻辑。
答案 1 :(得分:2)
要使用 copy 方法,首先需要为自定义类实现NSCopying协议:
@interface SomeClass : NSObject <NSCopying>
@property (nonatomic, strong) NSString *string;
@property (nonatomic, strong) NSNumber *number;
@end
@implementation SomeClass
- (id)copyWithZone:(NSZone*)zone
{
SomeClass *copyObject = [SomeClass new];
copyObject.string = _string;
copyObject.number = _number;
return copyObject;
}
. . . . . . .
@end
答案 2 :(得分:1)
您无法复制自定义类。您自己需要实现复制逻辑。