我在xcode中有以下代码片段,并且想要检查“link”的内容,这是在for循环中声明的本地对象“ReaderDocumentLink * link”,我在该行设置了断点 “result = [self annotationLinkTarget:link.dictionary];”如下所示:
-(id)singleTap:(UITapGestureRecognizer *)recognizer
{
id result = nil; // Tap result object
if (recognizer.state == UIGestureRecognizerStateRecognized)
{
if (_links.count > 0) // Process the single tap
{
CGPoint point = [recognizer locationInView:self];
for (ReaderDocumentLink *link in _links) // Enumerate links
{
if (CGRectContainsPoint(link.rect, point) == true) // Found it
{
result = [self annotationLinkTarget:link.dictionary];
break;
}
}
}
}
return result;
}
我试过“po link”但它不起作用。 (它报告错误如下:
错误:'link'的类型未知;将它转换为声明的类型以使用它
错误:解析表达式时出错1个
那么我该如何打印出“链接”对象中的细节呢?包括link.dictionary的内容。感谢。
答案 0 :(得分:1)
Xcode添加了日志断点的概念。这就是OP所要求的。并且他遇到了其中一个最大的停留点:po必须在具有描述方法的类型上松动。由于这个原因,我不会使用这些:在代码中仍有太多的整数类型要检查。
您可以将项目转换为断点内的对象,但这也是一种麻烦,例如[NSNumber numberWithFloat:5.5]然后po那个。
链接应该在这里工作。也许你正试图在一条超出范围的地方做点什么?
答案 1 :(得分:0)
NSLog
ReaderDocumentLink
或覆盖description
中的ReaderDocumentLink
方法并使用NSLog(@"%@",link):
答案 2 :(得分:0)
我同意Rob的意见,它应该在这里工作,。
但我看到'po'特别是“点语法”会发生奇怪的事情
因此,如果您尝试po link.dictionary
并且失败了
我建议做po [link dictionary];
有或没有“;”我不认为它有所作为。
(我不知道为什么有些时候dot syntaxe工作得很好而有时候却没有)
此外,我已经看过时间,如果我在“po”中输入错误并收到错误消息,无论我会尝试“po”后失败,所以添加到命中继续(或杀死应用程序我不记得了)再次进入那个断点。
当然,link
在范围内时确保你正在做“po”。
如果没有任何工作可以尝试关闭Xcode,有时候就是解决方案。