私のセットアップ:
- 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
同様のナンセンスで、何かが起こっているように見えますが、それは間違いなくソートされていません。
フォーマットされた値ではなく、基になるデータを参照するように並べ替えるにはどうすればよいですか?または、カスタムの並べ替えメソッドを指定するにはどうすればよいですか?また、そのメソッドのコードはどこに配置すればよいですか?私はかなり周りを検索しましたが、この問題を解決するのに役立つものは何も見つかりませんでした。これに関する助けをいただければ幸いです。