iPhone вводит NSUserDefaults в UITextField

Я пишу программу, в которой пользователь впервые запускает ее - им нужно будет заполнить около 10 различных полей UITextFields. Я пытаюсь сохранить поля, чтобы при последующих запусках программы все, что они ранее поместили, уже отображалось в этих UITextFields, поэтому не нужно повторно вводить его - если они не хотят что-то редактировать, и в этом случае у них все еще есть этот вариант. Я думаю, что нашел хороший способ сохранить строки с помощью NSUserDefaults, но теперь я пытаюсь выяснить, как заставить эти поля заполнять UITextField - это не кажется таким простым, как если бы они были UILabels. Я пытаюсь это сделать:

// in the viewDidLoad portion.
NSUserDefaults *userData = [NSUserDefaults standardUserDefaults]; //Hooks.
NSString *placeHolderName = [userData stringForKey:@"name"];

txtName.text = @"%@", placeHolderName;

Когда я это делаю, он просто отображает "% @" в текстовых полях. Я хочу, чтобы любая переменная, содержащаяся в placeHolderName, автоматически помещалась в этот UITextField. Это возможно?


person startuprob    schedule 11.05.2010    source источник


Ответы (2)


Просто используйте:

txtName.text = placeHolderName;

or

txtName.text = [NSString stringWithFormat:@"%@", placeHolderName];

В вашем коде вы случайно используете оператор-запятую, который вычисляет свое первое выражение (txtName.text = @ "% @"), отбрасывает результат и возвращает второй (placeHolderName)

person Vladimir    schedule 11.05.2010

Если я попытаюсь установить текст UITextField в viewDidLoad, UITextField всегда будет равен нулю, поэтому ничего не произойдет. Когда следует

txtName.text = placeHolderName 

быть вызванным, если мне нужно заполнить текстовое поле значением по умолчанию при загрузке UIViewController?

person dmitryame    schedule 22.01.2014