我正在向服务器发送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.postedContent
是NSDictionary
类型,而notificationContent
是NSMutableDictionary
类型我如何在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,或者创建一个协议方法。