iOS3, iOS4, xibbed UIViewController и отображение данных - PullRequest
0 голосов
/ 12 октября 2011

Я пишу приложение, которое будет работать на iOS3.0 и выше.

В приложении есть пользовательский UIViewController (скажем), который я создаю из файла .xib. Это представление содержит один UILabel, который я правильно объявил, синтезировал и т. Д. В моих пользовательских UIViewController файлах заголовка и реализации.

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

Подвох на iOS3.0 с моим, по крайней мере, UIViewController, -(id)initWithNibName:(NSString *) aNibNameOrNil bundle:(NSBundle *) aNibBundleOrNil возвращается раньше, чем -(void)viewDidLoad, но на моем устройстве iOS4.0 все наоборот. Поэтому текстовая метка может быть nil, когда я не хочу, чтобы она была.

Таким образом, я не знаю, где я могу установить текст таким образом, чтобы и iOS3.0, и iOS4.0 были довольны.

Любой совет здесь?

1 Ответ

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

Не могли бы вы объяснить, как ваша этикетка получилась равной нулю?

Если вы выбрали розетку для этикетки, то в любом случае в методе - (void)viewDidLoad она не может быть нулевой, еслиРозетка с этикеткой правильно подключена в xib-файле.

Если вы не взяли этикетку с этикеткой и не сделали это с помощью кода, то снова создайте экземпляр этикетки в методе - (void)viewDidLoad и установите ее текст прямо там, а затем добавьтеэто к представлению контроллера представления.

Для получения дополнительной информации - прочитайте метод - (void)viewDidLoad и - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle в UIViewController ссылка на класс

...