プロパティ== intValueまたはプロパティ== nilの場合、NSNumber型のプロパティで選択値を試しています。 しかし、このコードでは、プロパティ== nilの値は無視されます。 ポイントは何ですか?NSPredicateでNSNumber == nilで値をフィルタリングする
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"(ANY region.beacons.major == %d OR ANY region.beacons.major = nil)
AND (ANY region.beacons.minor == %d OR ANY region.beacons.minor = nil)",
rangedBeacon.major.intValue, rangedBeacon.minor.intValue];
UPD:ANYだけNOTNULL選択し、この答えCore Data, NSPredicate, ANY key.path == nilによるので、ANY +ゼロ おそらく問題:
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"ANY region.beacons.minor = nil"];
UPD 2:最もシンプルがあまりにも動作しません。値。一つには
なぜ重複しますか?私は 'uint16_t'のものを理解していません。なぜなら、それはオブジェクトではないからです。それはなぜNSNumberではないのですか? 'CLBeacon'オブジェクトを使っていませんか? – Larme
私はこの質問を複製しました。なぜなら、breviosは現在複製されているとマークされており、間違った答えにリンクしています。はい、私はCLBeaconを使用しています。 –
さて、リンクされた答えによれば、あなたのコードが反映されないように、あなたの述語には 'nil'ではなく' NIL'を書くべきです。さて、私が前のコメントで尋ねた他の質問はどうですか? – Larme