अगर मैं CALayer प्रतिनिधि विधि को कार्यान्वित करतो तो actionForLayer: forKey
मैं वापस कर सकता हूँ [NSNull null ]
किसी भी परिवर्तन को चेतन करने के लिए CALayer को मजबूर करने के लिए दुर्भाग्य से, [NSNull null]
CAAction
प्रतिनिधि को लागू नहीं करता है और XCode निम्न चेतावनी को निकालता है:
चेतावनी: वर्ग 'NSNull 'CAAction' प्रोटोकॉल को लागू नहीं करता है
यहां विधि कोड है:
- (id & lt; CAAction & gt;) कार्रवाई फोरेयर: (CALayer *) the Layer के लिए: (NSString *) theKey {// यह चीजों के आसपास चलते समय एनीमेशन को अक्षम करता है / भी, चयन बॉक्स चेतन नहीं करें यह अजीब बातें कर रहा था अगर (पूर्ववत समूह स्टार्टेड || theLayer == self.selectionBox) {वापसी [NSNull null]; } और {वापसी शून्य; }}
क्या मैं कुछ गलत कर रहा हूं? वापस [NSNull null]
बुरा व्यवहार वापस आ रहा है? यदि हां, तो मैं क्या करने का एक और तरीका क्या करने की कोशिश कर रहा हूं? यदि नहीं, तो मैं कम्पाइलर खुश कैसे कर सकता हूं?
"कोरएनिमेशन प्रोग्रामिंग गाइड" अनुभाग में यह पता चलता है वे CALayer
प्रतिनिधि यह निर्दिष्ट करने के लिए शून्य
वापस कर सकते हैं कि यह कार्रवाई को नहीं संभालता है, लेकिन खोज को जारी रखना चाहिए। यह निर्दिष्ट करने के लिए [NSNull null]
भी वापस कर सकते हैं कि कार्रवाई को नियंत्रित नहीं किया जाना चाहिए (जो कि खोज को रोकना चाहिए)।
CALayer
हेडर, आपको यह कैसे संभाला जाता है, इसके बारे में थोड़ा और अधिक विवरण दिखेगा:
यदि इन चरणों में से कोई भी गैर-शून्य क्रिया ऑब्जेक्ट में परिणाम होता है, तो निम्न चरणों को अनदेखा कर दिया जाता है यदि अंतिम परिणाम NSNull का एक उदाहरण है, तो इसे 'निल' में बदल दिया जाता है।
संकलक इसे स्वीकार करने के लिए, आप बस डालें:
रिटर्न (आईडी & lt; सीएएएसी & gt;) [NSNull null]; // एनिमेटिंग
Comments
Post a Comment