2013-01-09 12 views
6

की NSNumber संपत्ति के लिए NSPredicate मैं NSManagedObject की NSNumber * year संपत्ति है, यह डेटा मॉडल में टाइप है Integer 16 है।NSManagedObject

मैं इस वर्ष के लिए NSPredicate से जांच करने का प्रयास करता हूं, लेकिन सही नहीं ढूंढ सकता।

मैं क्या करने की कोशिश की:

NSPredicate *p = nil; 
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init]; 
NSNumber *yearNo = [nf numberFromString:term]; 
if (yearNo) { 
    p = [NSPredicate predicateWithFormat:@"(cars.year == %i)", yearNo.intValue]; 
} 

मैं भी करने की कोशिश की:

NSPredicate *p = nil; 
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init]; 
NSNumber *yearNo = [nf numberFromString:term]; 
if (yearNo) { 
    p = [NSPredicate predicateWithFormat:@"(cars.year == %@)", yearNo]; 
} 

दोनों ही मामलों ऐप्लिकेशन क्रैश में।

+1

हमें दिखाएं अनुरोध या क्रैश लॉग लाने है। –

उत्तर

12

यदि आप अपने मॉडल के लिए अधिक जानकारी प्रदान करते हैं, तो हम आपकी मदद कर सकते हैं।

लेकिन मुझे लगता है कि समस्या cars के कारण है। यदि cars से-अनेक है तो आप इस

[NSPredicate predicateWithFormat:@"ANY cars.year == %@", yearNo]; 
+1

मेरा अनुमान था कि वह 'कार' ऑब्जेक्ट्स को किसी दिए गए 'वर्ष' के साथ खोजना चाहता है, उस स्थिति में भविष्यवाणी केवल 'वर्ष ==% @ ", वर्ष नहीं होगी। –

+0

@ मार्टिनआर यह भी संभव है। यदि आप चाहें तो अपना उत्तर जोड़ें;) –

+0

हां, यह बहुत से रिश्ते थे। धन्यवाद – Shmidt

7

के लिए एक आपरिवर्तक की जरूरत पहले से ही @flexaddicted कहा, तुम पर्याप्त जानकारी नहीं दी है, उदाहरण के रूप में किस इकाई के लिए fetch अनुरोध किया जाता है।

आप किसी दिए गए year साथ Car वस्तुओं लाने के लिए चाहते हैं, विधेय सिर्फ

[NSPredicate predicateWithFormat:@"year == %@", yearNo] 
संबंधित मुद्दे