objective-c-blocks

синтаксис блока в Objective C (и действительно C, я полагаю) заведомо несочетаем. Передача блоков в качестве аргументов выглядит иначе, чем объявление блоков как ivars, что выглядит иначе, чем typedefing блоков. есть ли полный список синтаксиса объявления блоков, который я мог бы держать под рукой для быстро...

кроме очевидных различий: использовать enumerateObjectsUsingBlock когда вам нужен и индекс и объект не используйте enumerateObjectsUsingBlock когда вам нужно изменить локальные переменные (Я ошибся в этом, см. ответ bbum) и enumerateObjectsUsingBlock Как правило, считается лучше или хуже, когда for (id ob...

У меня есть метод, который принимает блок и блок завершения. Первый блок должен выполняться в фоновом режиме, в то время как блок завершения должен выполняться в любой очереди, в которой был вызван метод. для последнего я всегда использовал dispatch_get_current_queue(), но похоже, что он устарел в iOS 6 или ...

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

этот вопрос уже есть ответ здесь: как я могу создать свои собственные методы, которые принимают блок в качестве аргумента и которые я могу вызвать позже? 2 ответы Я только что обнаружил блоки завершения: completion:...

я читаю документацию Xcode, и вот что меня озадачивает: __block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; из документации копируется следующее: блок формирует сильную ссылку на переменные, которые он захватывает. Если вы используете self внутри блока,...

Я начал использовать блоки много и вскоре заметил, что нулевые блоки вызывают ошибки шины: typedef void (^SimpleBlock)(void); SimpleBlock aBlock = nil; aBlock(); // bus error это, кажется, идет вразрез с обычным поведением Objective-C, который игнорирует сообщения для нулевых объектов: NSArray *foo = nil;...

Я хотел бы написать метод, подобный этому: +(void)myMethodWithView:(UIView *)exampleView completion:(void (^)(BOOL finished))completion; Я в основном урезал синтаксис, взятый из одного из методов класса Apple для UIView: + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay opti...

потерпите, это займет некоторое объяснение. У меня есть функция, которая выглядит, как показано ниже. контекст: "aProject" - это основной объект данных с именем LPProject с массивом с именем 'memberFiles', который содержит экземпляры другого основного объекта данных с именем LPFile. Каждый LPFile представляе...

я столкнулся со сценарием, где у меня был обратный вызов делегата, который мог произойти либо в основном потоке, либо в другом потоке, и я не знал бы, что до времени выполнения (используя StoreKit.framework). у меня также был код пользовательского интерфейса, который мне нужно было обновить в этом обратном в...