ios - What is the difference between sending selector to id with and without protocol? -
यह कैसे हो सकता है?
संकलन त्रुटि:
आईडी के & lt; NSCoding & gt; प्रतिक्रिया = [[NSObject alloc] init]; आईडी कॉपी = [प्रतिक्रिया प्रतिलिपि];
संकलन सफलता:
आईडी प्रतिक्रिया = [[एनएसओबीजेस आलोक] init]; आईडी कॉपी = [प्रतिक्रिया प्रतिलिपि];
संकलन सफलता:
आईडी & lt; एनएससीडींग & gt; प्रतिक्रिया = [[NSObject alloc] init]; आईडी कॉपी = [(आईडी) प्रतिक्रिया) कॉपी];
$ clang --version ऐप्पल एलएलवीएम संस्करण 5.1 (क्लैंग -503.0.38) (एलएलबीएस 3.4 एसएसएन पर आधारित) लक्ष्य: x86_64-apple-darwin13.1.0 थ्रेड मॉडल: पॉज़िक्स
पी एस कोड में केवल प्रस्तुतीकरण उद्देश्य है और NSInvalidArgumentException
।
जब आप id & lt; SomeProtcol & gt;
प्रकार के एक चर घोषित करते हैं, तो संकलक मानता है कि आप केवल प्रोटोकॉल के तरीकों को कॉल करेंगे कॉपी करें
यह NSCoding
प्रोटोकॉल का कोई तरीका नहीं है।
बेशक, यदि चर बस id
है, तो आप कॉल कर सकते हैं समय पर किसी भी ज्ञात वर्ग / प्रोटोकॉल से उपलब्ध कोई भी तरीका।
Comments
Post a Comment