問題タブ [nsformatter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - NSPopUpButton で NSFormatter サブクラスを使用する方法
NSFormatter サブクラスを使用して、選択肢のリストを表示するために使用している NSPopUpButton の内容をフォーマットしたいと考えています。
基本的に、Content Values バインディングを介して NSPopUpButton にバインドされた MyObjects の NSArray があり、-description によって返されるもの以外のポップアップ メニューに何かを表示したいと考えています。まったく新しい配列を作成し、新しい配列に追加する前に各オブジェクトを文字列に変換する必要があるため、トランスフォーマーはあまり使用したくありません。
IB またはコードを介して NSPopUpButton 自体で setFormatter: を使用しても機能しません。これは、個々のセルのフォーマッタのみがリスト内の項目に適用されるためと思われます。
NSPopUpButton のすべてのセルにフォーマッタを設定する簡単な方法はありますか? 基本的には、一度設定して忘れられるようにしたいです。
cocoa - NSDateFormatter が機能しない 2 桁の年
NSTextFieldCell に 10.4 スタイルの日付フォーマッタを適用しています。setTwoDigitStartDate: (エポック日付と「参照」日付の両方で試しました) を呼び出しますが、2 桁の年で日付を入力すると、年が 2009 ではなく 0009 に設定されます。
ヘッダ:
実装:
明らかな何かが欠けていますか?
macos - カスタム NSFormatter を Snow Leopard で正しく動作させるには?
フィールドに入力された文字を大文字にすることだけを目的とするいくつかの NSTextFields にカスタム NSFormatter を接続しています。私のフォーマッタのコード全体を以下に示します。
stringForObjectValue()
とのgetObjectValue()
実装はノーオペレーションであり、Apple のドキュメントからほぼそのまま引用されています。メソッドを使用してisPartialStringValid()
、文字列の大文字バージョンを返しています。このコードは、10.4 および 10.5 で正しく機能します。10.6 で実行すると、テキスト フィールドが常に入力された文字をレンダリングするとは限らず、ゴミを表示するだけの「奇妙な」動作が発生します。NSZombie 検出を有効にして Instruments で実行しようとしましたが、何も報告されませんでした。「コンソール」に次のようなエラーが表示されます。
何が起こっているのか、誰かが光を当てることができますか? NSFormatter を間違って使用しているだけですか?
cocoa - NSFormatter を NSPopUpButton で使用できますか?
この質問は次の質問に似ています: How do I use an NSFormatter subclass with an NSPopUpButton
その質問で述べたように、NSPopUpButton のセルで使用される「フォーマッタ」が機能していないようです。これが予想されるのか、それとも実際に NSPopUpButton のフォーマッタを設定する目的があるのか 疑問に思っています。
現在、「コンテンツ オブジェクト」が「コンテンツ配列」が NSNumber の NSArray である NSArrayController の ArrangeObjects にバインドされている NSPopUpButton があります。NSPopUpButton セルのフォーマッタを、通貨形式で NSNumbers をフォーマットする単純な NSNumberFormatter に設定しても機能しません。ポップアップ メニューには、フォーマットされていない数値が表示されます。
NSPopUpButton のポップアップ メニューに表示される文字列をフォーマットするにはどうすればよいでしょうか? これはかなり簡単だと思います。値トランスフォーマー、または表示パスの特別な値を使用する必要があることは、やり過ぎのように思えますが、より簡単なはずです。
前もって感謝します。
objective-c - NSFormatterサブクラスをNSTableColumnソートキーおよびセレクターと連携させる方法は?
私のセットアップ:
- NSDictionaryオブジェクトのNSMutableArrayにデータを入力するsqliteデータベースがあります。これは、NSTableViewのデータソースです。
- 列の1つは「時間」を保持し、時間は秒を保持するフロートです。
- この列の値を分:秒で表示したいと思います。たとえば、私のデータは123.4329387になります。2:03を表示したいのですが、列のNSTextFieldに適用されたNSFormatter(またはNSNumberFormatter)のサブクラスで問題はありません。
- IBのテーブル列属性を使用して並べ替えを設定しました。並べ替えキーを「time」に設定し、セレクターを「compare:」に設定しました。これは、フォーマッターがなくても正常に機能します。
現在、これは私がソート(降順)するときに私にこのようなものを与えます
1:37、1:31、0:10、0:10、0:09、1:30、1:30、1:26、0:09
同様のナンセンスで、何かが起こっているように見えますが、それは間違いなくソートされていません。
フォーマットされた値ではなく、基になるデータを参照するように並べ替えるにはどうすればよいですか?または、カスタムの並べ替えメソッドを指定するにはどうすればよいですか?また、そのメソッドのコードはどこに配置すればよいですか?私はかなり周りを検索しましたが、この問題を解決するのに役立つものは何も見つかりませんでした。これに関する助けをいただければ幸いです。
cocoa - NSFormatter に NSTextFieldCell を継続的に検証させる
Cocoa には、セルが NSTextFieldCell である NSOutlineView があります。セルには、特定のルール (float、または間にスペースを入れた float のペアなど) に従って書式設定された文字列である値が表示されます。テキストを検証するためにカスタム NSFormatter を作成しましたが、これは問題なく動作するようです。
ただし、セル(またはアウトラインビュー、何が原因かはわかりません)は、編集が終了する瞬間にのみフォーマッターを使用しているようです。テキスト フィールドにアルファベット文字を入力すると (書式設定規則に違反します)、これらの文字が表示されます。フォーマッタが機能していることに気付く唯一の方法は、キーボード フォーカスをこのセルから移動できなくなったことです。セルの内容を有効なフォームに戻すと、フォーカスを移動できます。
セルとアウトライン ビューの両方を「連続」に設定しました。
そもそもセルにテキストを入力できなかった方がよいでしょう。そのようにすることは可能ですか?
ios4 - dateFromString は 24 時間の変更後に nil を返します
iPhoneで24時間設定を使用しています。24 時間設定に変更した後、datefromstring は常に nil を返します。12 時間形式に変更すると、再び機能します。なんで ?
iphone - NSFormatter dateFromString 時間に問題があります!
NSString を NSDate に変換しようとすると... setDateFormat はさらに 3 時間かかります!
例
seekLightStart --> 01/01/2001 9:37:35 formatterDate ---> 07/11/1999 13:30
どうして ??
objective-c - GData-Objectivec-clientの使用中にNSDateとNSStringをフォーマットする際の問題
私は奇妙な状況で戦っています。同じコードが2つの異なるプロジェクトで異なって機能します。1つのプロジェクトは、このコードを使用した空のコマンドラインユーティリティです。2番目のプロジェクトは、リンクされたgdata-objectivec-clientライブラリを使用しています。
コードは次のとおりです。
コマンドラインユーティリティだけで結果は同じです
「2011年3月8日10:07:36+0300」
。
ただし、gdata-objectivec-clientがリンクされているプロジェクトでは、結果は次のように変更されます。
"2011年3月8日07:07:36+0000"
何が問題なのかわからない、何か提案はありますか?
objective-c - NSTextFieldマスクを実装するNSFormatterの例はどこにありますか
QtとC#では、電話番号やシリアル番号などの入力マスクを簡単に定義できます。私がこれまで読んだすべてのことから、 NSFormatterが答えであると信じることができますが、うまくいかない完全な例を見つけるのに苦労しています。セグメント間にダッシュを使用し、文字をazと0〜9に制限する、シリアル番号用のフォーマッターを作成したいと思います。ダッシュの上に入力したり、コピーして貼り付けたりできるようにしたい。
例: ABC12-34DEF-GH567-890IJ-KL123