例如,在实现一个要执行重复操作的方法时,在objective-c中,您需要在语言带给您的几个选项之间进行选择:
@interface FancyMutableCollection : NSObject { }
-(void)sortUsingSelector:(SEL)comparator;
// or ...
-(void)sortUsingComparator:(NSComparator)cmptr;
@end
Run Code Online (Sandbox Code Playgroud)
我想知道哪一个更好?
Objective-c提供了许多选项:选择器,块,函数指针,符合协议的类的实例等.
有时选择很明确,因为只有一种方法适合您的需求,但其余的方法呢?我不认为这只是时尚问题.
是否有任何规则知道何时使用选择器以及何时使用块?