iPhone вводит NSUserDefaults в UITextField - PullRequest
1 голос
/ 12 мая 2010

Я пишу программу, где я впервые запускаю ее - им нужно будет заполнить около 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. Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 12 мая 2010

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

txtName.text = placeHolderName;

или

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

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

0 голосов
/ 22 января 2014

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

txtName.text = placeHolderName 

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

...