【发布时间】:2015-05-03 20:14:42
【问题描述】:
我正在添加一个包含事件的组。一旦我坚持我的 Event 对象,它就可以毫无问题地添加它。当我坚持我的组时,对象不会过去。我认为这与我的字典或将事件添加到事件数组有关。
if (!self.event) {
self.event = [[Event alloc] init];
}
self.event.title = @"First Event";
self.event.location = @"Dun Laoghaire Cineama";
self.event.eventdate = @"2015-04-25 02:31 PM";
self.event.title = @"Cineama";
self.event.theevent = @"Cineama";
[[AppDelegate appDelegate].events persist:self.event];
//这会起作用并创建事件。
NSMutableDictionary *groupsEventDict=[NSMutableDictionary dictionary];
NSMutableArray *eventsJSONArray=[NSMutableArray array];
[groupsEventDict setValue:self.event._id forKey:@"_id"];
[groupsEventDict setValue:@"First Event" forKey:@"title"];
[groupsEventDict setValue:@"Dun Laoghaire Cineama" forKey:@"location"];
[groupsEventDict setValue:@"2015-04-25 02:31 PM" forKey:@"eventdate"];
[groupsEventDict setValue:@"Cineama" forKey:@"theevent"];
[groupsEventDict setValue:@"2015-05-25T09:36:31.139Z" forKey:@"created_at"];
[eventsJSONArray addObject:groupsEventDict];
self.group.groupName = @"Fake Group";
self.group.how = @"School";
self.group.howLong = @"5";
[self.group.events addObject:self.event];
[self.group.dictionaryofevents setObject:eventsJSONArray forKey:@"events"];
UIImage *image2 = [UIImage imageNamed:@"group.png"];
self.group.groupimage = image2;
[[AppDelegate appDelegate].groups persist:self.group];
//这里出现错误。 A self.group 没有传递到我的 persist 方法中,因为它立即返回。
- (void) persist:(Group*)group
{
NSLog(@"%@",group);
if (!group || group.groupName == nil || group.groupName.length == 0) {
return;
}
if (group.groupimage != nil && group.groupimageId == nil) {
[self saveNewGroupImageFirst:group];
return;
}
NSString* groups = [@"http://localhost:3000/" stringByAppendingPathComponent:@"groups"];
BOOL isExistingLocation = group._id != nil;
NSURL* url = isExistingLocation ? [NSURL URLWithString:[groups stringByAppendingPathComponent:group._id]] :
[NSURL URLWithString:groups];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = isExistingLocation ? @"PUT" : @"POST";
NSData* data = [NSJSONSerialization dataWithJSONObject:[group toDictionary] options:0 error:NULL];
request.HTTPBody = data;
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSURLSessionConfiguration* config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession* session = [NSURLSession sessionWithConfiguration:config];
NSURLSessionDataTask* dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (!error) {
NSArray* responseArray = @[[NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]];
[self parseAndAddGroups:responseArray toArray:self.objects];
}
}];
[dataTask resume];
}
【问题讨论】:
标签: ios json nsmutablearray nsmutabledictionary restful-url