+(BOOL)resolveClassMethod:(SEL)aSel {
NSString *lString = NSStringFromSelector(aSel);
if ([self validateLetterAndAccidental:lString]) {
id (^noteFactoryBLOCK)(id) = ^(id aSelf) {
return [self noteWithString:lString];
};
IMP lIMP = imp_implementationWithBlock(noteFactoryBLOCK);
...
मुझे अंतिम पंक्ति में एक त्रुटि मिलती है क्योंकि नोटफैक्टरीब्लॉक को शून्य * पर डाला जाता है और एआरसी इसे अस्वीकार करता है। क्या वर्तमान में मैं जो चाहता हूं उसे पूरा करने का एक तरीका है? मुझे एक आईएमपी चाहिए कि मैं रनटाइम पर class_addMethod को पास कर सकता हूं।डायनामिक क्लास विधि रिज़ॉल्यूशन
संपादित
IMP myIMP = imp_implementationWithBlock(objc_unretainedPointer(noteFactoryBLOCK));
यह पंक्ति मुझे एक त्रुटि के बजाय एक चेतावनी दे - Semantic Issue: Passing 'objc_objectptr_t' (aka 'const void *') to parameter of type 'void *' discards qualifiers
एआरसी अब सार्वजनिक है! Http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-June/015588.html –