Когда и зачем использовать executeSelector - iOS - PullRequest
0 голосов
/ 03 апреля 2012

Я пытался выяснить, почему и как использовать executeSelector.Я сталкивался с Apple Docs .Однако я не могу полностью понять это.

Может ли кто-нибудь помочь мне объяснить это?

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Из документации Apple:

метод executeSelector: позволяет отправлять сообщения, которые не определены до времени выполнения

Более длинная история:

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

NSString *astring = @"test";

[test dance]; // Doesn't compile
[test performSelector:@selector(dance)]; // Doesn't make sense but compiles 
0 голосов
/ 27 декабря 2012

AFAIK, использование селектора - это способ объявить callback method как то, что мы делали на Java, C #, ... Предположим, вы разрабатываете библиотеку A, которая выполняет асинхронный расчет и возвращает результат всякий раз, когда это делается.Во время разработки вы не знаете, какой метод обратного вызова вы должны вызывать при выполнении вычислений.Таким образом, вы можете заставить библиотеку получить selector в качестве входного параметра и использовать performSelector позже для вызова методов обратного вызова.

Надеюсь, это поможет.

...