目前,我正在开发一个使用委托的 iOS 应用程序,并实现了类似的东西:
@protocol Hello <NSObject>
@required
- (void)update:(NSDictionary *)data;
@end
@interface NotificationHandler : NSObject
{
id <Hello>delegate;
}
- (void)sendData;
@end
当一些特定的通知发生时,它会调用该sendData
方法,它会update
调用delegate
.
一切正常。在字典中,我需要为一些特殊的代表传递特定的值。所以我正在导入像这样的标题:
#import "Special1.h"
#import "Special2.h"
- (void)sendData
{
if([_delegate isKindOfClass:[Special1 class]])
{
//special class 1
NSDictionary *dict = //initialize with parameters and values
[(Special1 *)_delegate update:dict];
}
else if([_delegate isKindOfClass:[Special2 class]])
{
//special class 2
NSDictionary *dict = //initialize with parameters and values
[(Special2 *)_delegate update:dict];
}
}
这里的问题是,我需要在这里导入所有的特殊类。无论如何要在不导入类的情况下做到这一点?