iPhone: чтение текста из файла и UISegmentedControl

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

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

На вопросы:

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

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

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


person Arthur Skirvin    schedule 11.02.2010    source источник


Ответы (2)


1.

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

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

2.

Установите для выхода valueChanged в Interface Builder значение IBAction на вашем контроллере, например setSegmentValue:. Затем, если у вас есть массив строк кавычек:

- (IBAction)setSegmentValue:(id)sender {
    UISegmentedControl *control = (UISegmentedControl*)sender;
    NSString *quote = [quotes objectAtIndex:control.selectedSegmentIndex];
    myTextView.text = quote;
}
person Alex Wayne    schedule 11.02.2010
comment
Сладкий! У меня было немного времени, чтобы возиться этим вечером, и это была именно та помощь, которая мне была нужна. Все работает к моему удовлетворению, и я думаю, что понимаю все, что происходит. Еще раз спасибо, что нашли время помочь новичку! - person Arthur Skirvin; 14.02.2010

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



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

person ennuikiller    schedule 11.02.2010