4

更新:

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

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

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


我不知道到底发生了什么。我根本没有改变segues,它们在几分钟前工作得很好。我在细节视图控制器中更改了一些不相关的东西,现在应用程序在从根到视图控制器的过程中崩溃了。

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

在此处输入图像描述

跨步:

在此处输入图像描述

跨步:

在此处输入图像描述

跨步:

在此处输入图像描述

好的,这是在 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;
        }

    }
}
4

2 回答 2

7

从评论中复制,作为一旦发现实际异常的答案:

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

于 2012-04-08T01:15:06.957 回答
1

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

在标题“环境变量”下的编辑方案中添加 NSZombieEnabled = YES

请尝试看看您是否有更多详细信息

于 2012-04-08T00:14:44.960 回答