2012-08-14 7 views
6

NSCoding और डिकोडिंग मूल्यों का उपयोग कर, वहाँ एक रास्ता है, तो एक मूल्य के किसी कुंजी के लिए मौजूद है बताने के लिए है? दूसरे शब्दों में, मैं क्या करने की कोशिश कर रहा हूँएनएससीओडी के साथ डीकोडिंग: क्या कुंजी कुंजी के लिए मौजूद है?

if([decoder valueExistsForKey:@"myKey"]) //valueExistsForKey is not a real method :(
{ 
    NSInteger *myInt = [decoder decodeValueForKey:@"myKey"]; 
} 
else 
{ 
    //handle special case 
} 

मुद्दा मैं अपने अनुप्रयोग में दस्तावेज है कि "MyKey" मूल्य की जरूरत नहीं है के पुराने संस्करण है कि है, और अगर वे डॉन है ... मेरे पास नहीं है, myInt के लिए 0 का उपयोग कर रहा है (यदि आप एक गैर-कुंजी कुंजी को डीकोड करते हैं तो क्या होता है) वह व्यवहार नहीं है जो मैं चाहता हूं। हालांकि, मैं सिर्फ डीकोड नहीं कर सकता और जांच सकता हूं कि myInt == 0 है, क्योंकि यह वैध रूप से 0 के बराबर हो सकता है।

चूंकि valueExistsForKey विधि मौजूद नहीं प्रतीत होती है, तो मैं इस व्यवहार को दोहरा सकता हूं?

उत्तर

15

कैसे containsValueForKey के बारे में?

+0

Derp। धन्यवाद हाहा। मुझे पता था कि मैं कुछ याद कर रहा था, ऐसा लगता था कि मैं चाहता था कि कार्यक्षमता सुंदर मानक कार्यक्षमता थी ... – MikeS

संबंधित मुद्दे