私はNSArrayController
の値にバインドしているテーブルの列を持っています。私がしようとしているのは、アレイコントローラーの実際の値の部分文字列だけを表示することです。これまでにやっている方法は、サブクラスNSValueTransformer
を作成し、次にtransformedValue
メソッドで文字列操作を行うことです。しかし、私は入力値を文字列に変換する方法を理解することはできません(タイプはNSConcreteValue
です)、値の変圧器なしでこれを行う簡単な方法があります。NSValueTransformerで文字列操作を行う方法は?
答えて
プレゼンテーション側の書式設定のように聞こえる場合は、代わりにフォーマッタを使用する必要があります。
また、複数の値(「42から100」など)を含む文字列の場合は、代わりにモデルオブジェクトを作成してアレイコントローラに格納する必要があります。次に、テーブル列をモデルオブジェクトの特定のプロパティにバインドし、文字列を選択してから再アセンブリすることを心配する必要はありません(モデルをロードして後で保存する場合を除く)。
編集:気にしないでください。オブジェクトの値がNSStringではなくNSStringであることはわかりませんでした。
これは長い文字列です。最初の10文字しかテーブルに表示しません。 Interface Builderのバインディングインスペクタから何かできることがあるフォーマッタを使用していますか? – Charles
これは拘束力のあるオプションではありません。それはセル内のコンセントです。ペン先でフォーマッタを作成し、セルのフォーマッタコンセントをフォーマッタオブジェクトに接続します。 –
合意。ここでサブクラス化したいのはNSFormatterです。 -stringForObjectValue:を実装するだけで済みます。おそらく完了します。 –
-description
メソッドを使用して任意のオブジェクトの文字列表現を取得できますが、NSValueのインスタンスでは特に意味のあるものは表示されません。言い換えれば、渡されたオブジェクトを解釈して文字列を生成するのは、バリュートランスフォーマーだけです。それがNSValueインスタンスの場合、問題はインスタンスに含まれるデータのタイプです。そのことが分かれば、コードを文字列として表現するコードを書くことができます(NSStringFromRect()
に似ています)。
- 1. SQLクエリで文字列操作を行う方法
- 2. 文字列の操作方法は?
- 3. プロローグで文字列を操作する方法は?
- 4. 文字列操作
- 5. はJavaScript - 文字列操作
- 6. PowerShell-replace文字列操作でバックスラッシュ文字を処理する方法は?
- 7. 文字列のパス操作を行うには?
- 8. メソッド名を文字列として操作する方法は?
- 9. 複数行の.txtファイルで文字列操作を使用する方法
- 10. iphoneの文字列操作
- 11. C#文字列操作
- 12. 文字列操作が
- 13. Objective-C文字列操作
- 14. バッチファイルの文字列操作
- 15. 複合文字列操作
- 16. 文字列操作VBA Excel
- 17. jQueryの文字列操作
- 18. PHPの文字列操作
- 19. Powershell:文字列操作
- 20. XML文字列の操作
- 21. Rubyの文字列操作
- 22. Pythonの文字列操作
- 23. プリティ文字列操作
- 24. nodejs:文字列操作
- 25. iphone +文字列操作
- 26. awkの文字列操作
- 27. 文字列操作のアドバイス
- 28. MySqlの文字列操作
- 29. 文字列のマイナス操作
- 30. Python expandtabs文字列操作
NSConcreteValueはNSValueのサブクラスです。バインディングはトランスフォーマなしで完全な文字列を正しく表示しますか? –
はい - 文字列が変圧器なしで正常に表示されています。 – Charles