मूल रूप से, मैं निम्नलिखित के रूप में बहुत ही सरल कुछ है। ताकि मैं [UIAlertAction okay]
से बस एक ठीक कार्रवाई बना सकते हैं UIAlertAction
का एक कस्टम श्रेणी;सूचक समारोह इंटरफेस पर एक nullability प्रकार निर्दिष्टकर्ता याद आ रही है
@interface UIAlertAction (Custom)
+ (UIAlertAction *)okay;
@end
@implementation UIAlertAction (Custom)
+ (UIAlertAction *)okay
{
return [UIAlertAction actionWithTitle:@"Ok"
style:UIAlertActionStyleCancel
handler:nil];
}
@end
और बाद में, मैं तय है कि मैं भी एक पूरा हाथ के बल्लेबाज के साथ एक चाहते हैं तो इंटरफ़ेस इस बन:
@interface UIAlertAction (Custom)
+ (UIAlertAction *)okay;
+ (UIAlertAction *)okayWithHandler:(void (^ __nullable)(UIAlertAction *action))handler;
@end
और और मैं मुट्ठी लाइन पर चेतावनी संदेश प्राप्त करना प्रारंभ:
सूचक एक nullability प्रकार निर्दिष्टकर्ता
याद आ रही है
मुझे लगता है कि नल के विचार को समझने (ईमानदारी से, नाम बहुत वर्णनात्मक है)। लेकिन मुझे समझ में नहीं आता है कि दूसरे फ़ंक्शन पर __nullable
क्यों जोड़ना पहले के लिए निरर्थक विनिर्देशक बनाना आवश्यक होगा?
आपको बहुत बहुत धन्यवाद! अब मैं समझता हूं कि मुझे इतनी चेतावनी क्यों मिल रही है और केवल मेरी कक्षाओं में से एक में। मैं सिर्फ एक अन्य परियोजना है, जो कुछ '__nullable' घोषणा है से कुछ विधि घोषणा कॉपी करने के लिए हुआ है। मैंने अभी घोषणा की है, यह सभी चेतावनियां चली गई हैं! –