[解決済み] Objective-CでNSArrayを新しいNSArrayにフィルタリングする。
2022-08-07 02:48:20
質問
私は
NSArray
があり、新たに
NSArray
を、元の配列から一定の基準を満たしたオブジェクトで作成したい。この基準は、ある関数が
BOOL
.
を作成することができます。
NSMutableArray
を作成し、ソース配列を繰り返し、フィルター関数が受け入れるオブジェクトをコピーして、そのイミュータブルバージョンを作成することができます。
もっと良い方法はないでしょうか?
どのように解決するのですか?
NSArray
そして
NSMutableArray
は、配列の内容をフィルタリングするためのメソッドを提供します。
NSArray
は
filteredArrayUsingPredicateを提供します。
これは、指定された述語にマッチする受信機内のオブジェクトを含む新しい配列を返します。
NSMutableArray
は
filterUsingPredicateが追加されました。
これは、受信機の内容を指定された述語と照らし合わせて評価し、 一致するオブジェクトのみを残すものです。これらのメソッドは、以下の例で説明されています。
NSMutableArray *array =
[NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melissa", nil];
NSPredicate *bPredicate =
[NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];
NSArray *beginWithB =
[array filteredArrayUsingPredicate:bPredicate];
// beginWithB contains { @"Bill", @"Ben" }.
NSPredicate *sPredicate =
[NSPredicate predicateWithFormat:@"SELF contains[c] 's'"];
[array filteredArrayUsingPredicate:sPredicate];
// array now contains { @"Chris", @"Melissa" }
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] Objective-CでNSArrayを逆引きするにはどうしたらいいですか?
-
[解決済み】NSMutableArrayから反復処理中に削除する最良の方法は?
-
[解決済み】NSArrayを反復処理する方法は?
-
[解決済み] RootViewControllerのスイッチングアニメーション
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] Objective-Cで配列に結合する
-
[解決済み] error: Writeable atomic property cannot pair with synthesized setter/getter and the user defined setter/getter.
-
[解決済み] 角括弧 < > と引用符 " " を使って #import する。
-
[解決済み] Xcodeはクラッシュの原因となる行を表示しない
-
[解決済み] 複数のサブクラスで1つのストーリーボードuiviewcontrollerを使用する方法
-
[解決済み] iOSの合成されたプロパティの名前を、先頭のアンダースコアで変更するのはなぜですか?重複
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] メソッドが存在するかどうかをチェックする
-
[解決済み] 別のUIViewの下にあるUIViewとのインタラクションを許可する