답변:
다음 description
과 같이 선언 된 인스턴스 메소드입니다.
- (NSString *)description
다음은 구현 예입니다 (grahamparks 덕분에).
- (NSString *)description {
return [NSString stringWithFormat: @"Photo: Name=%@ Author=%@", name, author];
}
debugDescription
도 예약? DebugDescription
LLDB와 같은 디버거에서 사용해야한다고 생각 합니다.
NSObject의 설명 메소드를 대체 할 수 있습니다.
- (NSString *)description
로깅의 주제에 대해서는 Objective-C에서 더 나은 로깅을 위해이 블로그 게시물 을 추천합니다 .
사용할 수있는 두 가지 기능이 있습니다.
- (NSString*)description
객체를 IE 매개 변수로 배치하면 표시됩니다 NSLog
. 다른 설명 기능은 다음과 같습니다.
- (NSString*)debugDescription
po anInstanceOfYourClass
디버그 명령 창에서 할 때 호출됩니다 . 클래스에 debugDescription
함수 가 없으면 description
호출됩니다.
기본 클래스 NSObject
는 description
구현되었지만 상당히 중요합니다. 개체의 주소 만 표시합니다. 그렇기 때문에 description
특히 description
코드 에서 메소드 를 사용하는 경우 정보를 얻으려는 클래스에서 구현하는 것이 좋습니다 . description
코드에서 사용하는 경우 구현 debugDescription
하는 debugDescription
것이 좋으며 더 자세하게 작성하는 것이 좋습니다 .
description
속성 이 예약되어 있으며 유용한 디버깅 정보를 제공합니다! 이 경우 고유 한 분석법 이름을 사용해야합니다.