Xcode调试器(适用于iPhone)的"超出范围"是什么意思?

rph*_*ath 4 iphone objective-c ios

我在点击UITableView中的一行时加载了一篇文章的详细视图.单击时,它会使用数据加载对象,然后将该对象传递给正在堆栈上推送的下一个控制器.但是,当我这样做时:

- (void)showArticle
{
    [aTitle setText:[[self article] title]];
    [aTitle setBackgroundColor:[UIColor clearColor]];
    [[self view] addSubview:aTitle];

    [aCategory setText:[[self article] category]];
    [aCategory setBackgroundColor:[UIColor clearColor]];
    [[self view] addSubview:aCategory];

    [aAuthors setText:[[self article] authors]];
    [aAuthors setBackgroundColor:[UIColor clearColor]];
    [[self view] addSubview:aAuthors];
}
Run Code Online (Sandbox Code Playgroud)

在title显示了罚款,但category并authors没有显示出来.当我调试时,当我查看类别/作者的值时,我会"超出范围".该article对象正在@synthesized并且我已经检查了它并且它具有正确的数据.

有任何想法吗?这是否意味着方法是私有的还是什么?

谢谢!

Jer*_*myP 7

这意味着调试器在尝试查询其值时无法看到它.有时这意味着变量确实超出了范围,因为它属于你不在的C块.但是有一个小故障,有时Objective-C对象,特别是NSStrings在它们非常好的时候出现在范围之外.几乎从来没有(根据我的经验)编程错误.

如果您需要查看实际值是什么,请尝试右键单击变量并选择"打印描述到控制台".