我有几个方法可以做几乎相同的事情,唯一的区别是它们使用的选择器,它被作为参数传递。但是选择器使用不同数量的参数,从 0 到 2,它们也作为参数传递。它看起来像这样(SupportClass 是一个类,我从中调用一个要在随机方法中使用的方法):
-(void) RandomMethod: (SEL) selector {
// some actions here
[SupportClass performSelector:selector];
}
-(void) RandomMethod2: (SEL) selector withObject: object {
// the same actions here
[SupportClass performSelector:selector withObject: object];
}
-(void) RandomMethod2: (SEL) selector withObject1: object1 withObject2: object2 {
// again - the same actions
[SupportClass performSelector:selector withObject1: object1 withObject2:object2];
}
但是由于它们都做同样的事情,我想找到一个更通用的解决方案,可以将它压缩成一个方法,这也可以让我将它用于具有更多参数的选择器(我很可能不需要,但是我仍然认为它看起来不错)。有谁知道如何做到这一点,并愿意告诉我?