आईओएस NULL
या nil
में animateWithDuration:animations:completion:
में समापन ब्लॉक में पास होने पर आईओएस चिल्लाता नहीं है लेकिन क्या इसका मतलब यह ठीक है? या क्या खाली ^{ }
खोलना बेहतर है?क्या एनयूएलएल में ब्लॉक पैरामीटर में पास करना ठीक है?
उत्तर
यह ठीक है जब तक आप भरोसा कर सकते हैं कि जिस कोड को आप nil
पास कर रहे हैं उसे ब्लॉक के रूप में कॉल करने का प्रयास नहीं किया जाएगा।
एक त्वरित प्रदर्शन:
typedef void (^GenericBlock)(void);
void useThisBlock(GenericBlock block){
block();
}
useThisBlock(^{NSLog(@"All okay.");});
useThisBlock(nil); // Compiles but crashes
भीतरी कोड ब्लॉक पहले जांच करना चाहिए: if(block) block();
UIKit कोड के मामले में, आप ठीक होना चाहिए।
nil
पास करना ठीक है, और मेरी राय में क्लीनर-रीडिंग कोड उत्पन्न होता है।
यदि आप पूर्णता ब्लॉक का उपयोग नहीं करना चाहते हैं, तो इस मामले के लिए आप [UIView animateWithDuration:animations:]
विधि का भी उपयोग कर सकते हैं।
धन्यवाद, मुझे पता है कि एनीमेशन ब्लॉक के बिना कोई तरीका है। मेरा सवाल ब्लॉक के बारे में अधिक है। तो क्यों 'शून्य', न 'एनएलएल'? – pixelfreak
'शून्य 'और' न्यूल 'बराबर हैं। सम्मेलन से, उद्देश्य-सी आम तौर पर 'शून्य' का उपयोग करता है जहां सी – sho
में 'NULL' का उपयोग किया जाता है जो कि एआरसी में बिल्कुल सही नहीं है। 'शून्य 'का मतलब ऑब्जेक्ट और उपयोग किया जाना चाहिए जहां' आईडी' की अपेक्षा की जाती है, जबकि 'NULL' का अर्थ गैर-ऑब्जेक्ट गैर वैध पॉइंटर होता है और इसका उपयोग किया जाना चाहिए जहां' (शून्य *) 'अपेक्षित है। अधिक जानकारी के लिए [इस] (http://stackoverflow.com/questions/557582/null-vs-nil-in-objective-c) प्रश्न पर एक नज़र डालें। –
- 1. क्या फैक्टरी विधि में पैरामीटर पास करना ठीक है?
- 2. क्या SQLCommand को पैरामीटर के रूप में पास करना ठीक है?
- 3. क्या पर्ल मॉड्यूल लोडिंग में पैरामीटर पास करना संभव है?
- 4. पैरामीटर के रूप में ArrayList पास करना
- 5. क्या रूबी में एक से अधिक ब्लॉक को एक से अधिक ब्लॉक पास करना संभव है?
- 6. क्या स्कैला में अंतर्निहित पैरामीटर के रूप में "यह" पास करना संभव है?
- 7. लुआ में फ़ंक्शन पैरामीटर के रूप में सरणी पास करना?
- 8. क्या ईजेबी बीन के सहायक वर्गों में इंजेक्शन एंटाइटी मैनेजर पास करना ठीक है और इसका उपयोग करना ठीक है?
- 9. क्या यह ठीक है? सिंक ब्लॉक
- 10. क्या रचनाकारों को डेटा रीडर पास करना ठीक है?
- 11. क्या आखिर में कोशिश करने का प्रयास करना ठीक है?
- 12. क्या रूबी में पास किए गए ब्लॉक के भीतर किसी विधि को पारित पैरामीटर को संदर्भित करना संभव है?
- 13. क्या सी ++ में किसी फ़ंक्शन के पैरामीटर के रूप में कक्षा को पास करना संभव है?
- 14. पास पैरामीटर कालबैक में समारोह
- 15. एक एमवीसी अजाक्स में एकाधिक पैरामीटर पास करना। एक्शनलिंक
- 16. रीडायरेक्ट व्यू में पैरामीटर पास करना स्प्रिंग एमवीसी
- 17. ब्लॉक पैरामीटर की संख्या प्राप्त करना
- 18. विधि पैरामीटर के रूप में अज्ञात प्रकार को पास करना
- 19. क्या डेटाबेस में प्रस्तुति डेटा स्टोर करना ठीक है?
- 20. आंशिक दृश्यों में पैरामीटर पास करना - एमवीसी 3/रेजर
- 21. SQL सर्वर 2005 में सी # डेटटाइम का पैरामीटर पास करना?
- 22. क्या गुणों को "आउट" या "रेफरी" पैरामीटर के रूप में पास करना संभव है?
- 23. क्या जावा में enums पर == का उपयोग करना ठीक है?
- 24. क्या एचटीएमएल इकाइयों का उपयोग गुणों में करना ठीक है?
- 25. क्या wsgi-application में थ्रेड को स्प्रे करना ठीक है?
- 26. सी ++ पास फ़ंक्शन के पैरामीटर के रूप में पास सूची
- 27. call_user_func के साथ पैरामीटर पास करना?
- 28. रूबी में विधि के लिए एकाधिक ब्लॉक कैसे पास करें?
- 29. URL में POST पैरामीटर कैसे पास करें?
- 30. चींटी स्क्रिप्ट्स में पैरामीटर कैसे पास करें?
"* UIKit कोड के मामले में, आपको ठीक होना चाहिए। *" उद्धरणों की आवश्यकता है? – Manav
@ मानव: आप गलत नहीं हैं - सत्यापित करने का कोई तरीका नहीं है (सिवाय इसके कि यह क्रैश नहीं होता है)। –