Передайте данные в NSMutablearrays между двумя viewControllers, IOS 4.3 - PullRequest
0 голосов
/ 09 февраля 2012

Я пытаюсь передать объект в NSMutablearray в NSmutableArray другого представления

Я искал связанный вопрос, но не мог выяснить, что не так.

мое представление переключается правильно, но не проходитобъект в моем массиве NSmutable

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {

    StartHuntViewController *startHuntController = [[StartHuntViewController alloc] initWithNibName:@"StartHuntView" bundle:nil];
    startHuntController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:startHuntController animated:YES];;
    startHuntController.forStandButton = [stands objectAtIndex:indexPath.row];// doesnt work
   // startHuntController.standLocation.text=[stands objectAtIndex:indexPath.row]; // this works
    [startHuntController release];

    [self.mytableView reloadData];
}

представление, которое я пытаюсь передать, является

.h file
@interface StartHuntViewController : UIViewController<UIApplicationDelegate,CLLocationManagerDelegate,CoreLocationControllerDelegate> {


    NSMutableArray *forStandButton;


}
@property (nonatomic, assign)NSMutableArray *forStandButton;
.m file

@synthesize forStandButton;

что мне делать?я думаю, что с кодом все в порядке?

Ответы [ 3 ]

2 голосов
/ 09 февраля 2012

здесь много вопросов, на первый взгляд:

@property (nonatomic, assign)NSMutableArray *forStandButton;

почему собственность не сохраняется?

0 голосов
/ 26 сентября 2012

изменено назначение для сохранения, переместить строку startHuntController.forStandButton = [stands objectAtIndex:indexPath.row];

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {

    StartHuntViewController *startHuntController = [[StartHuntViewController alloc] initWithNibName:@"StartHuntView" bundle:nil];
    startHuntController.forStandButton = [stands objectAtIndex:indexPath.row];
    startHuntController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:startHuntController animated:YES];
    [startHuntController release];
    startHuntController =nil;


}
0 голосов
/ 09 февраля 2012

Вам нужно использовать retain в операторе свойства.Поскольку forStandButton является свойством второго представления, вы хотите убедиться, что оно устанавливается.Если вы создадите для него сеттер (setForStandButton), вы можете установить точку останова в методе сеттера.Как только вы подтвердите, что вызывается сеттер, убедитесь, что он сохраняется достаточно долго, чтобы быть полезным.

...