2012-09-07 2 views
0

일부 레이블이있는 셀이있는 일반적인 UITableView 응용 프로그램이 있습니다 ..cell.detailTextLabel.text의 XCode GDB 구문?

GDB를 사용하여 다음 내용을 어떻게 표시합니까? 나는 이것을 아래에서 시도했으며 구문이 무엇인지 알아낼 수 없다.

편집 : 이것은 당신이 의미하지만, 로그 어떤 경우 내가 디버거가 중단 점

(gdb) p (NSString*)cell.detailTextLabel.text 
There is no member named detailTextLabel. 
(gdb) p (NSString*)[cell.detailTextLabel.text] 
A syntax error near end of expression. 
(gdb) p (NSString*)[cell detailTextLabel text] 
A syntax error in expression, near `]'. 
(gdb) p (NSString*)[cell detailTextLabel] 
$2 = (NSString *) 0x0 
(gdb) p (NSString*)[[cell detailTextLabel] text] 
$3 = (NSString *) 0x0 

감사를 칠 때

답변

1

당신은 디버거 내부 점 표기법을 사용할 수 없습니다, 그래서 대신 cell.detailTextLabel.text 당신은 [[cell detailTextLabel] text]를 작성해야합니다. 그리고 p 대신 po 명령을 사용해보십시오. 따라서 po [[cell detailTextLabel] text]입니다. 희망이 도움이됩니다.

+0

아직도 작동하지 않습니다. (gdb) po [[cell detailTextLabel] text] NIL 개체에 대한 설명을 인쇄 할 수 없습니다. (gdb) po [[cell detailTextLabel] text] NIL 개체의 설명을 인쇄 할 수 없습니다. (gdb) po (NSString *) [[cell detailTextLabel] text] NIL 개체에 대한 설명을 인쇄 할 수 없습니다. (gdb) po (NSString) [[cell detailTextLabel] text] 값을 정수로 변환 할 수 없습니다. – SparkyNZ

+0

그렇다면 어느 시점에서 레이블이나 셀이 릴리즈된다는 의미입니다. 즉, 라벨이나 내용을 인쇄하려고 할 때 '없음'을 의미합니다. 'po cell'을 사용하여 셀이 nil인지 확인하십시오. – Ariel

+0

네가 맞다고 생각해. 최근 NSString *의 복사본을 사용하도록 라벨의 할당을 변경 했어. 흥미롭게도 필자는 C 구조체에 도트 표기법을 사용할 수 있음을 발견했습니다. 도와 주셔서 감사합니다 - 나는 당신의 대답을 받아 들일 것입니다. – SparkyNZ

0

잘 모르겠어요 변수의 내용을 표시 할 수 있도록하려면 라벨의 텍스트는 다음을 사용할 수 있습니다

NSLog(@"%@",cell.detailTextLabel.text); 
+0

답변을 주셔서 감사합니다. 실제로 변수를 볼 때 사용하고 싶은 디버거 (gdb)입니다. 당신이 제안한 것은 실제로 디버거 창에 출력을 기록 할 것이지만 브레이크 포인트를 맞았을 때 다른 변수를 검사하고 싶습니다. 죄송합니다 - 게시 할 때 중단 점을 사용한다는 사실을 언급해야합니다. 건배. – SparkyNZ