मैं कोड निम्न प्रकार पर बजना त्रुटियों मिलती रहती है और मैं क्यों वे गलत कर रहे हैं को समझ नहीं सकता या कैसे बजना की संतुष्टि के लिए उन्हें हल करने के लिए:"संभावित नल अव्यवस्था" पर क्लैंग त्रुटि।
+ (NSString *)checkForLength: (NSString *)theString error: (NSError **)error {
BOOL hasLength = ([theString length] > 0);
if (hasLength) return theString;
else {
*error = [NSError errorWithDomain:@"ErrorDomain" code:hasLength userInfo:nil];
return nil;
}
}
की पूरी तरह से-काल्पनिक प्रकृति अलग छोड़कर उदाहरण (जो क्लैंग ने ऑब्जेक्ट करने के लिए ऑब्जेक्ट किया था), निम्नलिखित आपत्ति के साथ त्रुटि असाइनमेंट लाइन पर क्लैंग बाल्क:
संभावित शून्य अस्वीकृति। 'बनाना और रिटर्निंग
NSError
ऑब्जेक्ट्स' में कोडिंग मानकों के अनुसार पैरामीटर 'त्रुटि' शून्य हो सकती है।
मुझे एक प्राचीन क्लैंग रिपोर्ट पसंद है। मैंने उद्धृत दस्तावेज़ पढ़ा है और मुझे उम्मीद करने के लिए कोई रास्ता नहीं दिख रहा है; मैंने कुछ खुले स्रोत कोको पुस्तकालयों की जांच की और यह एक आम मुहावरे लगता है। कोई विचार?
उह, मुझे विश्वास नहीं है कि मुझे याद आया। धन्यवाद! – bbrown
मैंने किसी भी क्रैश या विश्लेषक त्रुटियों/चेतावनियों के बिना, एक लाख बार 'if (त्रुटि) * त्रुटि = ... 'का उपयोग किया। क्या मैं इस तरह से जा रहा हूँ? –
हां, 0 और झूठ के लिए एक नल पॉइंटर का स्पष्ट समतुल्य सार्थक सी से रखा गया कुछ उद्देश्य सी है। मुझे व्यक्तिगत रूप से लगता है कि यह खराब शैली है, लेकिन हाँ, यदि आप वास्तव में चाहते हैं तो आप आसानी से 'if (error)' का उपयोग कर सकते हैं। –