如何解决发送到不可变对象错误的变异方法

时间:2015-04-08 00:31:53

标签: ios nsmutablearray

我目前正在尝试设计推特应用。

但是,我发现一个变异方法发送到不可变对象错误。

appDelegate中的

如下:

@property (strong, nonatomic) NSMutableArray *tweets;

在我的表视图中,当我尝试将对象添加到数组时我有

appDelegate.tweets = [responseObject objectForKey:@"tweets"];
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
Tweet *newTweet = appDelegate.tweets.lastObject;
NSLog(@"Tweets: %@", newTweet);
[appDelegate.tweets addObject:newTweet];
记录显示时

newTweet:

Tweets: {
isdeleted = 0;
"time_stamp" = "2015-04-07 13:42:34";
tweet = "forgot the .text. dont worry people, its all under control.";
"tweet_id" = 37;
username = brett}

但是在尝试将其添加到我的阵列时出现错误。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

错误的意思是崩溃?响应对象可能没有返回可变数组。

appDelegate.tweets = [(NSArray*)[responseObject objectForKey:@"tweets"]mutableCopy];

另一方面,你真的想让它住在AppDelegate吗?这看起来像属于数据模型。