iPhone:从文件和UISegmentedControl读取文本

时间:2010-02-11 22:32:43

标签: iphone objective-c xcode text uisegmentedcontrol

首先,我是一个完全的初学者。

那就是说,我认为一个雄心勃勃的长期项目/学习经验将是创建一个显示每日报价的应用程序,就像我们的祖母在他们的浴室里那些俗气的日常日历。我希望它每天有两个,每个都由UISegmentedControl中的一个标签表示。这是长期的。现在,我很高兴得到一天的报价功能。

问题:

  1. 如何将保存在.txt或.rtf文件中的文本显示在UITextView中?最好不要使用'stringWithContentsOfFile',因为Xcode告诉我已弃用。

  2. 当用户点击第二段时,如何从其他文件(或同一文件的不同部分......?)中获取内容?

  3. 如果我能让它运行以便满足这两个条件并且我理解发生了什么,我会认为这一天是成功的。谢谢!

2 个答案:

答案 0 :(得分:1)

即使stringWithContentsOfFile:已被弃用,stringWithContentsOfFile:usedEncoding:error:也不会弃用。这是用于从文件中读取的标准方法。



至于第二个问题,您只需测试分段控件的状态并根据它执行操作。不可否认,这是一个高级答案,但应该让你去。

答案 1 :(得分:1)

1

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

错误和编码是可选的,您可以为两者传入nil。但是如果您关心错误,或者文件的编码是什么,则在创建字符串后,它们将在其中包含有用的信息。

2

将Interface Builder中的valueChanged出口设置为控制器上的IBAction,例如setSegmentValue:。然后,假设您有一个引用字符串数组:

- (IBAction)setSegmentValue:(id)sender {
    UISegmentedControl *control = (UISegmentedControl*)sender;
    NSString *quote = [quotes objectAtIndex:control.selectedSegmentIndex];
    myTextView.text = quote;
}