私は、UITableViewを生成するNSArrayを持っています。フィールドの1つはNSStringです。 cellForRowAtIndexPath:NSStringの色を変更するメソッド(NSStringが保持する値を基本的に決定し、ラベルの色を設定する)に基づいて呼び出される別のメソッドがあります。私は別の方法は色を決定するので、この場合の色で並べ替える方法を決定しようとしていますし、色は#define値です。NSArrayをオブジェクト型で並べ替える
私は、各メンバーが色(0,1,2のint値)を持つ配列を作成しようと考えていました。そこから、これらの数値を並べ替えることができます。したがって、すべての0が最初、次に1、2、またはそのようなものになります。
しかし、私はすべてを追跡する方法を知らない。私は元の配列で配列を作成したので、この配列に基づいてソートすると、実際のマーカーオブジェクトをどのように変更できますか?私はこれが最善の方法であるかどうかは分かりませんが、そうであれば、どのようにすべての並べ替えを追跡するでしょう。ありがとう。
あなたは '比較することを明確にすべきである:'メソッドはMyClass' 'で実装する必要があります。 – RyanR
colorNumはオブジェクトのivarではありません。これは、NSStringの内容に基づいてcellForRowAtIndexPathメソッドで決定されます。これはまだ動作しますか? – Crystal
色で並べ替える場合は、並べ替える色が必要ですか?だからあなたの文字列と色を保持し、文字列の代わりに配列に格納する新しいクラスを作成するか、cellForRowAtIndexPathで使用するのと同じコードを使用して色を見つけます。その最後のアイデアは、文字列の色を決定するのが非常に迅速かつ簡単な場合にのみ意味があります。 – Caleb