iPhone: чтение текста из файла и UISegmentedControl - PullRequest
0 голосов
/ 12 февраля 2010

Во-первых, я полный новичок.

Тем не менее, я подумал, что амбициозным долгосрочным проектом / учебным процессом будет создание приложения, в котором будут отображаться ежедневные цитаты, наподобие тех веселых ежедневных календарей, которые есть у наших бабушек в ванных комнатах. Я хочу, чтобы это было два в день, каждый из которых представлен вкладкой в ​​UISegmentedControl. Это долгосрочный срок. Прямо сейчас я был бы счастлив получить функционирование котировок за один день.

На вопросы:

  1. Как получить текст, сохраненный в файле .txt или .rtf для отображения в UITextView? Желательно без использования 'stringWithContentsOfFile', поскольку Xcode сообщает, что это устарело.

  2. Как я могу получить контент из другого файла (или, возможно, из другой части того же файла ...?), Который будет отображаться, когда пользователь касается второго сегмента?

Если я смогу запустить его так, чтобы эти два условия были выполнены, и я понял, что происходит, я считаю день успешным. Спасибо!

Ответы [ 2 ]

1 голос
/ 12 февраля 2010

1.

NSError *error = nil;
NSStringEncoding stringEncoding;
NSString *fileText = [NSString stringWithContentsOfFile:@"/path" usedEncoding:&stringEncoding error:&error];
myTextView.text = fileText;

Ошибка и кодировка являются необязательными, и вы можете передать nil для обоих. Но если вы заботитесь об ошибке или о том, в какой кодировке находился файл, у них будет полезная информация после создания строки.

2

Установите выход valueChanged в Интерфейсном Разработчике на IBAction на вашем контроллере, например setSegmentValue:. Затем, если у вас есть массив строк кавычек:

- (IBAction)setSegmentValue:(id)sender {
    UISegmentedControl *control = (UISegmentedControl*)sender;
    NSString *quote = [quotes objectAtIndex:control.selectedSegmentIndex];
    myTextView.text = quote;
}
1 голос
/ 12 февраля 2010

Даже если stringWithContentsOfFile: устарело, stringWithContentsOfFile:usedEncoding:error: - нет. Это стандартный метод для чтения из файлов.



Что касается второго вопроса, вы просто проверяете состояние сегментированного элемента управления и выполняете действие на его основе. По общему признанию, это - ответ высокого уровня, но должен заставить Вас идти.

...