struct
의 내용을 기록하기 위해 코코아 프레임 워크에서 description
함수를 사용할 수 있는지 알고 싶습니다. 예를 들어설명을 사용하여 구조체 인쇄
typedef struct {float a,b,c;}list;
list testlist = {1.0,2.5,3.9};
NSLog(@"%@",testlist); //--> 1.0,2.5,3.9
struct
의 내용을 기록하기 위해 코코아 프레임 워크에서 description
함수를 사용할 수 있는지 알고 싶습니다. 예를 들어설명을 사용하여 구조체 인쇄
typedef struct {float a,b,c;}list;
list testlist = {1.0,2.5,3.9};
NSLog(@"%@",testlist); //--> 1.0,2.5,3.9
아니오 description
: 당신이 구조체를 로그인 할 때
NSString * pretty_string_from_list(list l){
return [NSString stringWithFormat:@"<list: [%f, %f, %f]>", l.a, l.b, l.c];
}
그런 다음 그 함수를 호출
당신은 당신의 구조체의 내용으로 꽤 NSString
를 만들기 위해 자신의 기능을 쓸 수 있습니다 메시지는 NSObject
프로토콜에있는 메소드이므로 정의에 따라 객체 여야합니다. 그러나 LOG_EXPR()
매크로를 사용하면보다 편리하게 로그 디버깅 할 수 있습니다. 이 목적 및 구조체를 취할 것이다
LOG_EXPR(testlist);
는 어느 것 출력 :
testlist = {1.0, 2.5, 3.9};
이 코드는 here입니다.
description
는 방법과 같은 단지 객체 호출 할 수있다. 결과적으로 %@
형식 지정자는 description
에 응답하는 개체에만 작동합니다.
NSLog(@"%@", pretty_string_from_list(testlist));
지금까지 내가 아는 한, 아님. 'description '이 작동하기위한 Objective-C 객체 여야합니다. –