1

カスタムオブジェクトに保存したいテキストの複数の段落を保持するように設計された「メモ」フィールドを作成しました。もともと、一時的な解決策として NSTextField を使用していましたが、これではスクロールしたり、テキストの複数の段落を表示したりできません...

IB に NSTextView を配置しました (これは NSScrollView 内にラップされているようです)。プログラムの実行時に、複数の段落にテキストを入力したり、スクロールしたりできるようです。それが好きです。ここまでは順調ですね。

次に、このフィールドからデータを取得して、カスタム オブジェクトに保存する必要があります。これは、開発者ドキュメント内で少し迷っているところです...

私の目標はかなり単純明快です。

  1. ユーザーがボックスに入力できるようにします。

  2. ユーザーがメモフィールドを離れて別のフィールドに移動したときに、ボックスの内容をカスタムオブジェクトの変数 (配列など) に保存します。

  3. 次にレコードが表示されたときに、ユーザーが保存したテキストをテキスト ボックスに表示します。

次に、データを取得して、カスタム オブジェクト (NSString オブジェクトなど) の「メモ」変数に格納する簡単な方法はありますか?複数あると、ここではオプションとして NSString オブジェクトが除外されると思いますが、おそらく私はそれとも、ここでより複雑な領域に入っていますか (NSString オブジェクトの配列に格納する必要があるなど)?

どんな助けでも大歓迎です!

4

1 に答える 1

2

-stringNSText で定義されたを使用してデータを取得できます(例: NSString *savedString = [aTextView string])

保存コードは、編集が終了したとき (たとえば、ユーザーがビューの外側をクリックしたとき) または他のメソッドのいずれかで呼び出されるNSTextDelegate(読み取り、のデリゲートNSTextView、直接のスーパークラスであるため) に配置できます。 – textDidEndEditing:.

次に、テキストビューなどを空にした場合に保存された文字列を再読み込みするには、[textView setString:savedString]編集を開始する前に使用します。

NSTextDelegate のドキュメント:こちら.


「ボックスの内容を変数 (配列など) に格納する」と言うとき、何を意味するのかわかりません。カスタム ノートの配列を望んでいますか? テキスト ビューはデータの文字列を格納するため、最も簡単な方法はその値を格納するには、1 つの文字列を使用します。メモの配列が必要な場合は、文字列値を異なる段落に分割する必要がありますが、それほど難しくはありません。

于 2012-05-22T15:40:41.307 に答える