問題タブ [nssortdescriptor]

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.

0 投票する
1 に答える
220 参照

cocoa - Cocoa NSSortDescriptorsはモデルまたはコントローラーに属しますか?

NSSortDescriptorサブクラスはモデルレイヤーまたはコントローラーレイヤーに配置されますか?

これらは主に表示およびビジネスロジック用であるため、コントローラー層に配置することは理にかなっているようです。しかし、モデルが自分自身をソートする方法を知っている必要があることも理にかなっています。

0 投票する
1 に答える
1612 参照

iphone - NSSortDescriptor で NSNumber をどのようにソートしますか?

NSSortDescriptor を使用して NSNumber をソートするのに問題があります。何らかの理由で、正しい順序に並べ替えられません。私は何を間違っていますか?

xcdataModel で Int32 として定義され、このクラスによって呼び出されて並べ替えられます。

編集:ええ、寒い日の光の中で、これにはもう少し説明が必要です. 私はプロジェクトを説明しようとします。これは CoreData アプリです。値 'capacity' と 'availability' は、SAX を使用して XML ファイルを解析し、それらを管理オブジェクト モデルに添付することで得られます。これらは文字列として定義されます。元々 XML では数値でした。

これらは、上記の計算が行われたクラスで定義され、同じオブジェクト モデルにアタッチされます (上記のコードが正しい場合、問題はおそらくここにあるのでしょうか?)。これはすべて、TableView の並べ替えに使用するパーセンテージ値を取得するための努力です。(ところで、私は彼らが交換する必要があることに気づきました、おっと)コードの 2 番目のビットは、NSFetchResultsController と ManagedObjectContext を使用してこれが行われる場所です。selectedSegmentIndex == 0 などの場合に設定された他の属性によってこのリストを並べ替えているため、このビットが機能することはわかっています。それらはすべて正しく並べ替えられます。

これがもう少し理にかなっていることを願っています。

0 投票する
1 に答える
601 参照

cocoa - Is it possible to Sort Arrays with custom objects containing String elements localized AND with correct Numbers in Cocoa Touch?

Assumed having the class Account with Name and accountNo both as NSStrings. I want to sort an Array of Accounts either by name or by accountNo. The sort should be done localized.

If I use NSSortDescriptors as described in the Guides I have the option to pass localizedCaseInsensitiveCompare: to the Array, but the numbers are not sorted correctly (100 is sorted before 99). I have not found a way to trigger the option NSNumericSearch for the search. This means I have to use sortedArrayUsingFunctions with a function in every class along the chain. It allows me to sort with correct numerical values but this is not localized and very functional.

If you have answers to both questions (SortDescriptors with Numerically correct sort or sortFunctions with localized and numeric correct sort) please provide me both

Thanks

0 投票する
4 に答える
8620 参照

iphone - iPhone CoreData - 管理対象オブジェクトを取得し、大文字と小文字を区別せずに並べ替える方法は?

大文字と小文字を区別せずにアルファベット順に並べ替えて結果を取得する方法を知っている人はいますか?

0 投票する
2 に答える
421 参照

objective-c - 辞書内のオブジェクトごとにモデルオブジェクトを並べ替える方法は?

列と呼ばれるNSObjectから拡張するモデルオブジェクトがあります。列には、プロパティとデータの2つのフィールドがあります。プロパティは、データが配列であるときに任意のキーと値のペアを格納するNSDictionaryです。

列は配列で提供され、常にプロパティにあることがわかっている値、つまりキーordinal_positionを持つ値で並べ替える必要があります。

次のコードを使用して並べ替えていますが、モデルオブジェクトに「ordinal_position」がなく、モデルオブジェクトのプロパティにのみ存在するため、常に失敗します。

NSSortDescriptorに、モデルオブジェクトのディクショナリでプロパティを検索するように指示するにはどうすればよいですか?

0 投票する
2 に答える
7173 参照

iphone - コア データ テーブル ビュー セクション NSSortDescriptor を使用して平日で並べ替える

現在、オブジェクトの配列を日順にソートして、正しい順序、つまり月曜日、火曜日、水曜日、開始時間でグループ化できるようにしようとしています。

唯一の問題は、これを行う方法がわからないことです。現在、私のコードは次のようになっています。

助けてください!

0 投票する
6 に答える
15678 参照

cocoa - 2 つのプロパティ間で NSArray を並べ替えるのに役立ちます (NSSortDescriptor を使用しますか?)

私は少しNSSortDescriptor n00bです。しかし、それは私がする必要があることのための正しいツールだと思います:

「名前」と「時間」などのキーを持つオブジェクトで構成される NSArray があります。言語化する代わりに、例を次に示します。

したがって、値は「時間」でソートされ、「名前」でグループ化されます。A の時間値が最も小さかったため、A が最初に表示され、A のすべての値が次々に表示されます。次に C です。彼はすべての値の中で 2 番目に小さい時間値を持っていました。名前の並べ替え方法を決定する値を示しました。各名前グループ内では、並べ替えは時間順です。

入力から出力 NSArray に最も効率的な方法で取得するにはどうすればよいですか? (CPUおよびメモリに関して、必ずしもコードに関してではありません。)これのためにNSSortDescriptorsをどのように構築するか、または他の方法を使用しますか?それが最も効率的な方法でない限り、私は自分自身を転がしたくありません。

0 投票する
1 に答える
1392 参照

iphone - ローカライズされた並べ替えを使用したiPhoneフェッチリクエスト

コアデータモデルからソートされたローカライズされたデータを取得しようとしています。私のコード:

ただし、オブジェクトを取得すると、元の値(ローカライズされていないデータ)で並べ替えられます。

私は何を正しくしていないのですか?

0 投票する
3 に答える
3436 参照

iphone - NSFetchRequestControllerのNSSortDescriptorは、ソートされた属性の値が変更されたときにクラッシュを引き起こします

amount(float)、categoryTotal(float)、category(string)などの属性を持つコアデータエンティティがあります

最初のViewControllerは、FethchedResultsControllerを使用してエンティティを取得し、カテゴリ、次にcategoryTotalに基づいてエンティティを並べ替えます。これまでのところ問題はありません。

行(tableView:didSelectRowAtIndexPath)を選択すると、選択したエンティティの金額フィールドを編集できる別のビューコントローラーが読み込まれます。

最初のビューに戻る前に、categoryTotalは新しい'amount'によって更新されます。問題は、最初のView Controllerに戻るときに発生し、アプリは

重大なアプリケーションエラー。Core Data変更処理中に例外がキャッチされました:無効な更新:セクション0の無効な行数。更新後の既存のセクションに含まれる行数(1)は、更新前のそのセクションに含まれる行数と同じである必要があります(1)、プラスまたはマイナスそのセクションから挿入または削除された行数(0が挿入され、1が削除された)。userInfo(null)を使用プログラム受信信号:「EXC_BAD_ACCESS」。

これはNSSortDescriptor*sortByTotals = [[NSSortDescriptor alloc] initWithKey:@ "categoryTotal" ascending:sortOrder];の好意によるようです。これを削除すると、すべてが期待どおりに機能しますが、必要な並べ替えがないことは明らかです。

これは、categoryTotalの変更(削除/挿入)による並べ替え順序の変更に関係していると思いますが、これを修正する方法が見つかりません。2番目のビューで値が正しく変更されていることを確認したので、fetchedResultsControllerが混乱しているように見えます。categoryAmountがソート順を変更しないものに変更された場合、エラーは生成されません。

fetchedResultsControllerが返すアイテムの数を物理的に変更(つまり削除)していません...このエラーを生成しているように見える他の唯一の問題を見つけることができます

どんなアイデアでも大歓迎です

ありがとう、AJ