私はiOSアプリケーションを構築しています。 NSMutableArrayをソートする必要があるので、NSSortDescriptorを使用しました。しかし、私は私のアプリを実行すると、残念ながらTerminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSTaggedPointerString 0xa000000343730314> valueForUndefinedKey:]: this class is not key value coding-compliant for the key ID.'
を取得します。NSSutableDescriptorを使用してNSMutableArrayを並べ替えます。
これは私が使用しているコードです:
customerArray = [[NSMutableArray alloc] initWithArray:[rootDict allKeys]];
NSSortDescriptor *numberSorter = [NSSortDescriptor sortDescriptorWithKey:@"ID" ascending:YES selector:@selector(localizedStandardCompare:)];
[customerArray sortUsingDescriptors:@[numberSorter]];
前に、私はちょうどcustomerArray = [[NSMutableArray alloc] initWithArray:[rootDict allKeys]];
を使用していたとき、私は何の問題もなかったです。他の2つの行を追加すると、問題が発生しました。ブレークポイントを使用してクラッシュした場所を調べて、最後の行([customerArray sortUsingDescriptors:@[numberSorter]];
)を実行しようとした後にクラッシュすることがわかりました。
ご迷惑をおかけして申し訳ございませんが、必要に応じて喜んでコードを追加いたします。
'customerArray'文字列の要素はありますか?もしそうなら、存在していないこれらの要素の 'ID'プロパティを比較しているのでエラーが出ます。記述子を削除し、要素を直接比較するために '[customerArray sortUsingSelector:@selector(localizedStandardCompare :)]'を使用してください。 – Doc
@Docあなたは正しいですが、文字列ですが、それは辞書の元の配列だと思っていました。以前作成された。ありがとう、それは働いた。あなたが答えとしてそれを置くなら、私はそれを受け入れるでしょう。 – JustMe