Результаты поиска по запросу "objective-c-blocks"

2 ответа

Создание IMP из блока Objective-C

IMP Тип в Objective-C представляет собой указатель на функцию, насколько я понимаю. Есть ли способ сделатьIMP из указателя блока? Спасибо за ваши идеи.

5 ответов

Блоки на самом деле являются как типами C, так и типами Objective-C. Вы можете связать объекты с ними, используя API-интерфейсы среды выполнения objc, вы можете поместить их в коллекции ObjC и т. Д., И все же они все еще действительны в программах на языке C Это аккуратная хитрая работа по совместимости со стороны компилятора и пользователей среды выполнения :)

ел бы добавить функции, создав категорию для блоков Objective-C. __block int (^aBlock)(int) = ^int( int n ){ if( n <= 1 ) return n; return aBlock( n - 1 ) + aBlock( n - 2 ); };Вместо того, чтобы просто позволить нормальный[aBlock copy], [aBlock ...

4 ответа

Да, каждый раз, когда вызывается метод setKeepAliveTimeout, я создаю новую конечную фоновую задачу (которая, кажется, запускается в течение 10 минут).

я большая головная боль с темой. Я работаю над приложением, которое должно регулярно опрашивать веб-сервер, чтобы проверять наличие новых данных. На основании возвращенной информации я хочу отправить локальное уведомление пользователю. Я знаю, ...

ТОП публикаций

3 ответа

, В частности, этот ответ можно улучшить, следуя этому руководству: «Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен».

тим, мне нужно связаться с классом, который предоставляет протокол и вызывает методы делегата после завершения операции, как показано ниже: @protocol SomeObjectDelegate @required - (void)stuffDone:(id)anObject; - (void)stuffFailed; @end ...

4 ответа

 необходимо, чтобы убедиться, что блок скопирован в кучу. Это может быть ненужным с новыми версиями компилятора, но это не принесет никакого вреда.

ел бы рекурсивно вызвать блок изнутри себя. В объекте obj-c мы используем «self», есть ли что-то подобное для ссылки на экземпляр блока изнутри себя?

1 ответ

OP, по-видимому, не перечисляет обрабатываемый массив.

аюсь создать рекурсию, используя блоки. Это работает некоторое время, но в конечном счете это терпит крах и дает мне исключение плохого доступа. Это мой код: BOOL (^Block)(Square *square, NSMutableArray *processedSquares) = ^(Square *square, ...

5 ответов

вызов «я» внутри блока сохраняет его. используйте __weak или __block и создайте слабую ссылку на себя, прежде чем использовать его внутри блока

ько что натолкнулся на блоки, и я думаю, что это именно то, что я ищу, за исключением одного: возможно ли вызвать метод [self methodName] из блока? Вот что я пытаюсь сделать: -(void)someFunction{ Fader* fader = [[Fader alloc]init]; ...

1 ответ

NSComparator - это блок, который вы передаете таким методам, как NSArray - (NSArray *) sortedArrayUsingComparator: (NSComparator) cmptr

ось бы узнать, можно ли использовать приведенный ниже вопрос, используяNSComparator или нет? У меня есть два массива; оба держат модели данных. У меня есть свойство с именем rank в модели данных. Теперь я хочу сравнить оба массива и узнать, ...

1 ответ

Абизем: Спасибо, но это не отвечает на мой вопрос. Я хочу сделать паузу внутри блока и проверить его в контексте.

я есть метод, который возвращает блок. Я хочу добавить точку останова внутри блока. В XCode добавление точки останова на строке, которая находится внутри блока, заставляет выполнение приостанавливаться, когда метод возвращается, а не когда блок ...

3 ответа

Двойной указатель как параметр блока Objective-C

Возможно ли (и если да, безопасно) создать / использовать блок, который принимает двойной указатель в качестве аргумента? Например: - (void)methodWithBlock:(void (^)(NSError **error))block; Дополнительный контекст, исследование и вопросы: Я ...