誰かがこのクラスをID用のNSStringを持つように設計しました(正直な理由はわかりません)。したがって、一部のオブジェクトはID(空白)のために@ ""、そのうち@ "id12345"などがあります。文字列内のNSStringとNSNumberを比較する
stringByReplacingOccurrencesOfString:@"id" withString:@""];
ので、私は数を得ることができる:私は私がやった
まず最初に使用した私のUITableViewのための数でソートします。 NSStringからNSIntegerを取得する便利なメソッドがあると確信していますが、まだそれを調べていません。
私のオブジェクトMarkersにはこのIDのNSStringがあるので、オブジェクトの元の値を置き換えずに数値でソートするにはどうすればいいですか?私の最初の考えは、nsstringからID番号を取得して並べ替えることでした。しかし、私は元のnsstringの代わりにしたくなかった。私が持っているクラスは、基本的にデータの表示と並べ替えだけです。
これは私がこれまで持っているものです。
- (NSArray *)sortByID:(NSArray *)sortDescriptors {
for (Marker *m in self.MarkersList) {
if (![m.id length] == 0) {
NSString *str = [m.id stringByReplacingOccurrencesOfString:@"id" withString:@""];
// don't know what to do here....
}
}
return [self.MarkersList sortedArrayUsingDescriptors:sortDescriptors];
}