में शून्य मूल्य की जांच कैसे करें मैं अपनी अज्ञानता को स्वीकार करता हूं, मैंने अपने प्रोजेक्ट पर काम कर रहे कुछ महीनों में उद्देश्य-सी के बारे में जो कुछ भी मुझे पता है, मैंने सीखा है। मुझे यह भी निराशाजनक लगता है कि उद्देश्य-सी जटिल कैसे प्रतीत होता है कि मैंने जिस अन्य भाषा में काम किया है, उससे सरल बात क्या होगी। यह प्रश्न बिंदु में एक मामला है ...एनएसएनंबर
पहले भाग में मेरा ऐप जेएसओएन का एक गुच्छा डाउनलोड करता है जो इसे कोरडाटा स्टोर को पॉप्युलेट करने के लिए उपयोग करता है। मैं JSON को NSArrays में कनवर्ट करने के लिए ओबीजे-सी/जेएसओएन लाइब्रेरी (सीजेएसओएनडीएसएरियलाइज़र) का उपयोग करता हूं। एक कोरडाटा इकाई के लिए JSON डाउनलोड में एक फ़ील्ड है जिसमें एक नंबर ("show_id":2
) होता है जो किसी अन्य इकाई में संबंधित फ़ील्ड को पहचानता है यदि अन्य या शून्य ("show_id":null
) अन्यथा है। उस क्षेत्र के प्रसंस्करण में मैं का उपयोग कर एक NSNumber के लिए असाइन करें ...
NSNumber *shoIndex = [[item objectForKey:typeKey] objectForKey:@"show_id"];
मैं तो जाँच करने के लिए है कि मैं एक वैध संख्या है & लिंक लाने से संबंधित रिकॉर्ड इतनी के रूप में जहां बेकार प्रसंस्करण ऐसा नहीं करने के लिए प्रयास करने से पहले की कोशिश वहाँ कोई संबंधित रिकॉर्ड नहीं है।
साथ ...
NSLog(@"shoIndex: %i, %@, %@", shoIndex, shoIndex, [shoIndex description]);
देता shoIndex
पूछताछ ...
shoIndex: 19590600, <null>, <null>
जहां JSON मूल्य null
& था ...
shoIndex: 228300880, 51, 51
अन्यथा।
अब तक केवल सफल जांच मैं कर दिया है साथ ...
if (![[shoIndex description] isEqualToString:@"<null>"]) {
किसी को भी एक बेहतर तरीका बता सकते हैं क्या है?
अद्यतन ...
इसे दूसरे तरीके से shoIndex
खोज रहे हैं एक NSNumber
है कि कभी कभी एक NSString
मूल्य @"<null>"
शामिल के रूप में दिया जाता है। क्या ओब्जे-सी में isa
ऑपरेटर की तरह कुछ है जो मैं shoIndex
की सामग्री के प्रकार की जांच के लिए उपयोग कर सकता हूं?
टीआईए, पेड्रो।
नहीं समझती क्या आपको लगता है कि वस्तु 'NSNumber' का एक उदाहरण है बनाता है के लिए चेक? – jlehr