Блок target-c против селектора. какой из них лучше?

В объекте-c, когда вы реализуете метод, который будет выполнять повторяющиеся операции, например, вам нужно выбрать между несколькими вариантами, которые предлагает вам язык:

@interface FancyMutableCollection : NSObject { }
-(void)sortUsingSelector:(SEL)comparator;
// or ...
-(void)sortUsingComparator:(NSComparator)cmptr;
@end

Мне было интересно, какой из них better ?

Objective-c предоставляет множество вариантов: селекторы, блоки, указатели на функции, экземпляры класса, который соответствует протоколу и т. д.

Иногда выбор очевиден, потому что подходит только один метод ваши потребности, а как насчет остального? Я не думаю, что это просто вопрос моды.

Существуют ли какие-либо правила, чтобы знать, когда использовать селекторы, а когда - блоки?

5
задан hectr 26 September 2011 в 22:48
поделиться