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

Ric*_*nop 4 iphone xcode objective-c ios

更新:

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

[<TweetDetailViewController 0x685f9f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key toolbar.
Run Code Online (Sandbox Code Playgroud)

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


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

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

在此输入图像描述

跳过:

在此输入图像描述

跳过:

在此输入图像描述

跳过:

在此输入图像描述

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

- (void)setTweet:(Tweet *)newTweet
{
    if (_tweet != newTweet) {
        _tweet = newTweet;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

- (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;
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

Phi*_*lls 7

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

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