Как называется эта целевая функциональная конструкция? - PullRequest
0 голосов
/ 21 июня 2011

Я просматривал одно из учебных пособий Apple по XCode и наткнулся на что-то похожее на реализацию метода класса:

void (^foo)(void);

foo = ^(void) {

    NSLog(@"Hello, World!");
};

foo();

Теперь, очевидно, это какое-то объявление функции, реализация ииспользование.Тем не менее, я хотел бы узнать больше об этом, как это называется, и каковы его ограничения и преимущества.Мои поиски в Интернете ничего не значат.Кто-нибудь может указать мне правильное направление?

Ответы [ 2 ]

4 голосов
/ 21 июня 2011

Они называются блоками .Вы можете думать о блоке как о фрагменте кода, который вы можете передать другим частям вашей программы.Они были добавлены Apple к своим компиляторам C и Objective-C относительно недавно, но некоторые более новые API принимают блоки вместо или в дополнение к селекторам или указателям на функции.

0 голосов
/ 21 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...