Невозможно передать NSString из одного представления в другое представление - PullRequest
2 голосов
/ 11 января 2010

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

@property (assign) NSString * wert1;

Когда я загружаю SecondViewController нажатием кнопки на FirstViewController, я пытаюсь передать строку NSString:

SecondViewController *Second = [[SpinViewController alloc] initWithNibName:nil bundle:nil];
Second.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"black.png"]];
[Second setWert1:texteingabe1]; //HERE <<<<
Second.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:Second animated:YES];
[Second release];

В SecondViewController я делаю это:

NSLog(@"%@",wert1);

Но NSLog просто говорит: (ноль). Почему?

Спасибо за вашу помощь и извините за мой плохой английский.

Ответы [ 4 ]

3 голосов
/ 11 января 2010

Где вы называете это NSLog заявление? Если он находится в loadView или viewDidLoad, он не будет работать, потому что эти методы вызываются до того, как setWert1: вызывается в вашем примере.

Кроме того, убедитесь, что вы не устанавливаете его в nil где-то еще до вызова NSLog, и, конечно, убедитесь, что texteingabe1 на самом деле не ноль при его передаче.

1 голос
/ 11 января 2010

Вам необходимо скопировать или сохранить строку во втором контроллере. Используйте ключевое слово @property «сохранить» вместо «назначить».

Назначение просто назначает строку вашему члену экземпляра во втором ... затем, когда строка освобождается в первом контроллере, она также исчезает из второго.

1 голос
/ 11 января 2010

Работает ли это, если вы установите необработанный строковый литерал? I.e [Второй setWert1: @ "Foo"]? Не видя больше кода, наиболее вероятной причиной того, что строковое значение будет NULL во втором представлении, является то, что вы передали NULL-строку для 'texteingabe1'.

0 голосов
/ 11 января 2010

Получил решение. Я просто переместил фоновый код в setWert1-код и теперь он работает:)

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