2015-09-20 8 views
7

मैं xcode 7 अद्यतन की आवश्यकता है और इस त्रुटिXcode 7 अशक्त एक कॉल प्राप्त करने वाला के लिए पारित एक गैर शून्य तर्क के

अशक्त एक कॉल प्राप्त करने वाला को पारित कर दिया है कि एक गैर-शून्य तर्क

_recorder = [[AVAudioRecorder alloc]initWithURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@.%@", [NSHomeDirectory() stringByAppendingString:@"/Documents"], name, extension]] settings:nil error:nil]; 
+0

पूर्ण त्रुटि संदेश और स्टैक ट्रेस दिखाएं। – trojanfoe

+0

कोई त्रुटि सिर्फ इस तरह की चेतावनी नहीं: शून्य एक कैली को पास कर दिया गया है जिसके लिए एक गैर-शून्य तर्क –

+0

ठीक है, उस कथन को अलग-अलग बयानों में तोड़कर शुरू करें। इस तरह आप डीबगर में 'शून्य' की जांच कर सकते हैं और वास्तव में समझ सकते हैं कि यह क्या करता है। आप इस तरह के लंबे यौगिक बयान के साथ अपनी पीठ के लिए एक रॉड बना रहे हैं। – trojanfoe

उत्तर

2

एक आसान की आवश्यकता है देता है कि चेक करने का तरीका Show Completions का उपयोग करना है - एक विधि नाम पर जाएं और Ctrl-Space या मेनू Editor>Show Completions पर दबाएं। एक खिड़की खुल जाएगी। (nonnull) के साथ प्रविष्टियों की तलाश करें - ये nil नहीं होना चाहिए। उदाहरण के लिए:

(nonnull) sample popup

मैं [NSString stringWithFormat:...] में कर्सर के साथ Ctrl-Space दबाया। जैसा कि आप देख सकते हैं कि बहुत से तर्क (nonnull) चिह्नित हैं।

जब आप स्पष्ट रूप से nil को अपने विधि कॉल में पास करते हैं, तो आपको पहले ही समस्या मिलती है। यदि आप एक चर पास करते हैं, तो जांचें कि उस समय nil है या नहीं।

+1

'Esc' Ctrl-Space (हिट करने में आसान) के बजाय मेरे लिए नौकरी करता है – Mindaugas

+0

@ मिंडागास आह हाँ - मुझे याद है, 'esc'-popup ने मुझे परेशान किया :-) –

25

यदि आप परेशान चेतावनी है, तो आप दबाने सकते कि का उपयोग करते हुए इस -Wnonnull

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wnonnull" 

_recorder = [[AVAudioRecorder alloc]initWithURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@.%@", [NSHomeDirectory() stringByAppendingString:@"/Documents"], name, extension]] settings:nil error:nil]; 

#pragma clang diagnostic pop 
संबंधित मुद्दे

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