Добавить объект в NSMutableArray из другого представления - PullRequest
0 голосов
/ 12 октября 2011

У меня есть словарь с тремя объектами, и я хочу добавить этот словарь в NSMutableArray в предыдущем представлении стека.Этот массив правильно синтезирован в контроллере mainview.Однако, когда я пытаюсь

[mainVC.fotoObjectArray addObject:[NSMutableDictionary dictionaryWithDictionary:fotoObject]]; Ничего не добавляется в массив.

Похоже, что я неправильно выделил / инициализировал его, но он сохраняется в свойстве в предыдущем контроллере представления.

Пользователь делает снимок или выбирает его из альбома с помощью кнопки.Когда он возвращает:

PhotoViewController.m

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

NSArray *viewControllers = [self.navigationController viewControllers];
MainViewController *mainVC = (MainViewController *)[viewControllers objectAtIndex:viewControllers.count - 2];
[mainVC setFotoGenomen:@"Ja"];

i = @"foto";
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];

NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
[fotoObject setObject:[NSData dataWithData:imageData] forKey:@"image"];

[mainVC.fotoObjectArray addObject:[NSMutableDictionary dictionaryWithDictionary:fotoObject]];

//display image
UIImageView *imageView = [[UIImageView alloc] init];
[imageView setFrame:CGRectMake(10.0f, 120.0f, 300.0f, 300.0f)];
imageView.backgroundColor = [UIColor whiteColor];
[[self view] addSubview:imageView];
[imageView setImage:image];
[self dismissModalViewControllerAnimated:YES];
[self.tableView reloadData];
[imageView release];

}

В то же время GPS регистрируется на PhotoViewController.m, когда представление загружаетсяfotoObject 'dict содержит правильные ключи и значения.Теперь ему просто нужно поместить этот словарь в NSMutableArray MainViewController.m.

1 Ответ

1 голос
/ 12 октября 2011

Похоже, вы никогда не инициализируете массив в mainVC. Если вы только что получили синтезированные средства доступа, они вернут nil, если вы не настроили массив явно.

В методе mainVC viewDidLoad вы можете получить что-то вроде:

if (!self.fotoObjectArray)
    self.fotoObjectArray = [NSMutableArray array];

Это обеспечит наличие массива для добавления вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...