我正在向服务器发送API请求,并且收到以下格式的JSON响应:

{
    "id": 1,
    "name": "example",
    "file": "http://example.com/file.png"
}


我想做的是,提取file元素并将其添加到已经存在的NSDictionary中,这是我的.h文件

@property (strong, nonatomic) NSDictionary *postedContent;


在这里我在.m文件中分配值

self.postedContent = @{@"agent_id": agent_id, @"status_id": selectedStatusId ,@"message": comment ,@"ratingDate": currentDate };


这是我试图将文件元素添加到self.postedContent的地方

// Retrieve file element from API response
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:returnData options:kNilOptions error:&error];
NSArray* file = [json objectForKey:@"file"];
// Add it to NSMutableDisctionary
NSMutableDictionary *notificationContent = self.postedContent;
notificationContent[@"file"] = file;


这是行不通的,因为self.postedContentNSDictionary类型,而notificationContentNSMutableDictionary类型

我如何在self.postedContent中添加文件元素,这是我最终期望的结果

NSDictionary *content = @{@"agent_id": agent_id, @"status_id": selectedStatusId ,@"message": comment ,@"ratingDate": currentDate, @"file": file };


我要去哪里错了?

谢谢。

最佳答案

NSMutableDictionary *notificationContent = [self.postedContent mutableCopy];
notificationContent[@"file"] = file;
self.postedContent = [notificationContent copy];


如果您经常进行此操作,则可以将postedContent设置为NSMutableArray,或者创建一个协议方法。

10-08 05:30