를 보는 방법은 내용의 NSDictionary 변수 Xcode 에서 디버거를 사용하시겠습니까?

StackOverflow https://stackoverflow.com/questions/112796

문제

는 방법이 있을 보려면 키/값 쌍의 NSDictionary 변수를 통해 Xcode 디버거를 사용하시겠습니까?여기는 어느 정도의 정보를 때 그것은 완전히 확장되는 변수에 창:

Variable  Value      Summary
jsonDict  0x45c540   4 key/value pairs
 NSObject {...}
  isa     0xa06e0720

나는 그것을 기대하여 각각의 요소를 사전에(비슷한 배열 변수).

도움이 되었습니까?

해결책

Gdb 창을 사용할 수 있는 po 을 검사하는 개체입니다.

정:

NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"foo" forKey:@"bar"];
[dict setObject:@"fiz" forKey:@"buz"];

중단점을 설정한 후에 추가되는 개체를 검사할 수 있습니다 무엇에서 사전

(gdb) po dict
{
  bar = foo;
  buz = fiz;
}

물론 이들은 NSString 체는 인쇄습니다.만,느린 ftp 를 방은 다른 복잡한 물체.

다른 팁

할 수 있습 마우스 오른쪽 단추로 클릭하여 개체(ObjC 또는 핵심 기초)변수"를 선택하고 인쇄를 설명하는 콘솔"(도에서 실행->변수 보기).이것을 인쇄하는 결과 obejct 의 -debugDescription 방법,기본적으로 통화 -description.불행하게도, NSDictionary 재정의가 이것을 생산하는 무리의 내부 데이터의 당신은 일반적으로 걱정하지 않는,그래서이 특정한 경우 craigb 의 솔루션은 더 낫습니다.

표시된 키와 값을 사용할 -description, 다,그래서 당신이 원하는 경우 유용한 정보에 대한 개체에서 컬렉션과 다른 곳에서,재정의 -description 해야 합니다.나는 일반적으로 그것을 구현과 일치하는 기본 형식 NSObject 구현:

-(NSString *) description
{
    return [NSString stringWithFormat:@"<%@ %p>{foo: %@}", [self class], self, [self foo]];
}

당신이 사용할 수 있습 CFShow()

NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"foo" forKey:@"bar"];
[dict setObject:@"fiz" forKey:@"buz"];
CFShow(dict);

에서 출력을 당신이 볼 수

{
  bar = foo;
  buz = fiz;
}

XCode4.6 는 다음과 같은 기능이 추가되었는 도움이 될 수 있습니다 당신

The elements of NSArray and NSDictionary objects can now be inspected in the Xcode debugger

지금할 수 있는 검사에 이러한 객체형하지 않고 인쇄 전체에서 콘솔입니다.을 즐길!

출처: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_6.html

클릭하 dict,클릭한 다음에 작은"내가"아이콘을,그것은 작업을 수행해야 합니다:-) Xcode5, view the value of a dict

사용할 수도 있습니다 NSLog.

또한 갈 수 있는 디버그 지역 또는 xcode,다음 All Variables, Registers, Globals and Statics 다음을 선택하는 변수.오른쪽 클릭합니다.그런 다음 선택 Print description of "...."

Hope it helps!

하고 싶은 경우 인쇄에서 이러한 중단점에서 작업 현대 XCode(예,내가 이후 10 년 동안 원래 포스팅!) 를 사용하여 다음과 같은 중단점에서 식"로그 메시지"행동:

@myDictionary.설명@

아래 스크린샷 나의점 행동 변수는@입고 변수 contextData 은 NSDictionary 나는 기록의 내용::

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top