10

次のような状況があります。

NSArray(
    NSArray(
        string1,
        string2,
        string3,
        string4,
        string5,
    )
    ,
    NSArray(
        string6,
        string7,
        string8,
        string9,
        string10,
   )
)

次に、特定の文字列を含む配列を返す述語が必要です。例: string9 を含むフィルター配列 -> その配列内の他の文字列を処理する必要があるため、2 番目の配列全体を取得する必要があります。何か案は?

4

2 に答える 2

1

私が知っていることから、ワンライナーとしてそれを行うことはできないので、使用する代わりに使用predicateWithFormat:する必要がありますpredicateWithBlock:

このようなものはあなたが望むことをするはずです

NSString *someString = @"Find me"; // The string you need to find.
NSArray *arrayWithArrayOfStrings = @[]; // Your array
[arrayWithArrayOfStrings filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(NSArray *evaluatedArray, NSDictionary *bindings) {
    return [evaluatedArray indexOfObject:someString] != NSNotFound;
 }]];

更新: Martin Rは私が間違っていることを証明しました:)

于 2013-06-21T05:43:06.153 に答える