Значение NSString не сохраняется - PullRequest
0 голосов
/ 22 августа 2011

Я пытаюсь назначить данные из строки в другую строку в другом viewcontroller, однако кажется, что данные не сохраняются - я получаю нулевой ответ в NSLog.Я хотел бы знать, почему, спасибо ..

Ответы [ 2 ]

1 голос
/ 22 августа 2011

Попробуйте немного изменить порядок, как показано ниже, и используйте сохранить вместо копии:

SchoolDetailViewController *schoolController = [[SchoolDetailViewController alloc]initWithNibName:nil bundle:nil];
schoolController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
schoolController.courseDetails = @"passing new content"; 
[self presentModalViewController:schoolController animated:YES];
NSLog(@" %@",schoolController.courseDetails); // 'passing new content' is shown

.h
    NSString *courseDetails;
@property (nonatomic, retain) NSString *courseDetails; 

.m
@synthesize courseDetails; 

- (void)viewDidLoad {

    NSLog(@" text : %@",courseDetails); // returns null ... why? 

    [super viewDidLoad];
}

Это должно работать.

0 голосов
/ 22 августа 2011

Хорошо, это потому, что метод viewDidLoad вызывается, когда вы представляете контроллер представления с анимацией или без нее.

Так что просто переверните эти 2 утверждения

[self presentModalViewController:schoolController animated:YES];
schoolController.courseDetails = @"passing new content"; 

как это

schoolController.courseDetails = @"passing new content"; 
[self presentModalViewController:schoolController animated:YES];

А затем проверьте результаты еще раз ...

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