0

初めまして、全くの初心者です。

そうは言っても、野心的な長期的なプロジェクト/学習体験は、祖母がバスルームに置いている安っぽい日ごとのカレンダーのように、毎日の引用を表示するアプリを作成することだと思いました. 1 日に 2 つ、それぞれが UISegmentedControl のタブで表されるようにしたいと考えています。それが長期です。今のところ、1 日分のクオートが機能していれば満足です。

質問に:

  1. .txt または .rtf ファイルに保存されたテキストを UITextView に表示するにはどうすればよいですか? Xcodeは非推奨だと言っているので、できれば「stringWithContentsOfFile」を使用しないでください。

  2. ユーザーが 2 番目のセグメントをタップしたときに、別のファイル (または同じファイルの別の部分) からコンテンツを表示するにはどうすればよいですか?

この 2 つの条件が満たされ、何が起こっているのかを理解できるように実行できれば、その日は成功したと考えます。ありがとう!

4

2 に答える 2

1

stringWithContentsOfFile:非推奨ですが、そうでstringWithContentsOfFile:usedEncoding:error:はありません。これは、ファイルからの読み取りに使用する標準的な方法です。



2 番目の質問については、セグメント化されたコントロールの状態をテストし、それに基づいてアクションを実行するだけです。確かに、これは高レベルの回答ですが、うまくいくはずです。

于 2010-02-11T22:44:40.227 に答える
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;
}
于 2010-02-11T22:47:55.253 に答える