0

検索機能の述語を書くのに少し苦労しており、あなたが助けてくれると思っていました。したがって、基本的には NSNumbers の 2 つの配列があります。述語で次の条件を満たす必要があります。

If a number's integerValue in array A matches any integerValue in array B.

このソリューションには、いかなる種類のループも使用したくありません。これが私がこれまでに持っているものです

ANY integerValue == ANY //how do I pass the entire array here and ask for the integerValue of each member? 
4

2 に答える 2

0

私はそれがあなたが求めたもの(述語とすべて)ではないことを知っていますが、別の方法はNSArray's を使用することです。これは、共通のオブジェクトが見つからない場合- (id) firstObjectCommonWithArray:(NSArray *)otherArrayに返されます。nil

BOOL arraysIntersect = [array1 firstObjectCommonWithArray:array2] != nil;

ただし、1 つの注意点は、2 つのオブジェクトを比較するときに独自のオブジェクト等価規則を使用することです。つまり、2 つのオブジェクトが NSNumber インスタンスである場合、NSNumbercompare:メソッドを使用してそれらを比較します。しかし、これまでに提案された述語ベースのソリューションについても同じことが言えます。

于 2013-06-17T15:21:01.723 に答える