更新:
好的,我设法记录了异常:
[<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;
}
}
}