Segue crashing - 调试器不会显示任何有用的错误

时间:2012-04-07 22:40:01

标签: iphone objective-c ios xcode

更新:

好的,我设法记录了异常:

[<TweetDetailViewController 0x685f9f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key toolbar.

我在目标控制器视图中有一个工具栏。这会导致问题吗?


我不知道到底发生了什么事。我根本没有改变segues,他们几分钟前就完美地工作了。我在详细视图控制器中更改了一些不相关的东西,现在应用程序在从根到视图控制器的segue期间崩溃。

我正在尝试调试这个。这是代码崩溃的地方:

enter image description here

跳过:

enter image description here

跳过:

enter image description here

跳过:

enter image description here

好的,这是在prepareForSegue中调用的setter方法:

- (void)setTweet:(Tweet *)newTweet
{
    if (_tweet != newTweet) {
        _tweet = newTweet;
    }
}

我在进入细节控制器时调用配置方法:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    [self configureView];
}

- (void)configureView
{
    // Update the user interface for the tweet detail page
    if (_tweet) {

        self.tweetUserName.text = _tweet.userName;
        self.tweetCreatedAt.text = _tweet.createdAt;
        self.tweetText.contentInset = UIEdgeInsetsMake(-4,-8,0,0);
        self.tweetText.text = _tweet.text;

        if (_tweet.retweeted == YES) {
            [self.retweetButton setTintColor:[UIColor grayColor]];
            [self.retweetButton setEnabled:NO];
        }

        if (!_tweet.userProfileImage) {
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                NSString *imageUrl = _tweet.userProfileImageUrl;
                NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]];

                dispatch_async(dispatch_get_main_queue(), ^{
                    self.tweetUserProfileImage.image = [UIImage imageWithData:data];
                });
            });
        }
        else {
            self.tweetUserProfileImage.image = _tweet.userProfileImage;
        }

    }
}

2 个答案:

答案 0 :(得分:7)

从评论中复制,作为答案,一旦发现实际例外:

故事板中的TweetDetailViewController很可能有一些链接到名为“toolbar”的插座的连接,但该类的代码没有具有该名称的属性。这是通常的原因,至少在涉及视图控制器时会出现这种错误。

答案 1 :(得分:1)

尝试启用对Zombie的控制,以查看调试是否为您提供有关该问题的更多详细信息。

在“Envirorment Variables”标题下的编辑方案中添加NSZombieEnabled = YES

请尝试查看您是否有更多详情