2011-10-03 3 views
2

저는 Objective-C의 세계에 비교적 새로운 것이고 작성한 클래스를 가지고 있습니다. 부.복사 방법 대 Objective-C의 복사 생성자에 대한 인수

Java에서 제공되는 복제 생성자 또는 복제 메소드를 작성할 수 있습니다. 일반적으로 후자는 not being recommended입니다. 그러나 Objective-C는 다른 언어이므로 진행하기 전에 Objective-C의 복사 생성자 대 복사 메서드의 인수를 이해하고 싶습니다. 가장 일반적으로 사용되는 접근 방식은 무엇입니까?

답변

4

개체 복사 기능을 추가하는 방법은 NSCopying protocol을 구현하는 것이 좋습니다. 많은 기초 클래스도 NSCopying을 구현합니다.

자세한 내용은이 대답을 참조하십시오 Implementing NSCopying

1

사용 :하는 .m에

@interface MyClass : NSObject <NSCopying> 

:

.H에서 다음 NSCopying protocol

예제의 일부입니다 -(id)copyWithZone:(NSZone*)zone

-(id)copyWithZone:(NSZone*)zone { 
    MyClass *copy = [[[self class] allocWithZone: zone] init]; 
    copy.user = self.user; 
    copy.password = self.password; 
// etc 

    return copy; 
}