का एक NSArray के आधार पर विचार करें निम्नलिखित NSArray:NSPredicate 'या' छानने कुंजी
NSArray *dataSet = [[NSArray alloc] initWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:@"abc", @"key1", @"def", @"key2", @"hij", @"key3", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"klm", @"key1", @"nop", @"key2", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"qrs", @"key2", @"tuv", @"key4", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"wxy", @"key3", nil],
nil];
मैं इस सरणी फिल्टर करने के लिए वस्तुओं है कि कुंजीkey1
// Filter our dataSet to only contain dictionary objects with a key of 'key1'
NSString *key = @"key1";
NSPredicate *key1Predicate = [NSPredicate predicateWithFormat:@"%@ IN [email protected]", key];
NSArray *filteretSet1 = [dataSet filteredArrayUsingPredicate:key1Predicate];
NSLog(@"filteretSet1: %@",filteretSet1);
शामिल शब्दकोश को खोजने के लिए कर रहा हूँ
जो उचित रूप से लौटाता है:
filteretSet1: (
{
key1 = abc;
key2 = def;
key3 = hij;
},
{
key1 = klm;
key2 = nop;
}
)
अब, मैं एनएसएआरएआरई में कुंजी के ANY युक्त शब्दकोश ऑब्जेक्ट्स के लिए डेटासेट फ़िल्टर करना चाहता हूं।
उदाहरण के लिए, सरणी का उपयोग कर: NSArray *keySet = [NSArray arrayWithObjects:@"key1", @"key3", nil];
मैं एक विधेय है कि वापस आती है और की सरणी किसी भी वस्तुओं है कि या तो 'कुंजी 1' या 'key3' (यानी इस उदाहरण में सब शब्दकोश वस्तुओं होगा शामिल शब्दकोश बनाना चाहते हैं। तीसरे ऑब्जेक्ट को छोड़कर वापस लौटाएं - क्योंकि इसमें 'key1' या 'key3' शामिल नहीं है)।
इस पर कोई विचार है कि मैं इसे कैसे प्राप्त करूं? क्या मुझे एक परिसर भविष्यवाणी का उपयोग करना होगा?
* कोई * मैं जो खो रहा था वह था। मुझे नहीं पता कि मुझे एनएसपीडिकेट क्यों मिल रहा है ताकि मेरा सिर चारों ओर लेना मुश्किल हो। आपके उत्तर के लिए धन्यवाद। मोनोलो +1 :) –
क्या यह मामला संवेदनशील है? मैं अंततः पता लगाऊंगा, लेकिन मुझे उम्मीद है कि यह पहले से ही है। बाद में टिप्पणी करें। – coolcool1994
@ coolcool1994 उपरोक्त भविष्य में कोई भी और IN (और SELF) केस संवेदनशील नहीं है (असल में मैं अक्सर उन्हें सभी कैप्स में लिखने के लिए लिखता हूं), कुंजी/विधि नाम हैं, इसलिए '@ allKeys _is_ केस संवेदनशील । – Monolo