Вопросы по теме 'objective-c-blocks'

Когда использовать enumerateObjectsUsingBlock по сравнению с for
Помимо очевидных отличий: Используйте enumerateObjectsUsingBlock , когда вам нужен и индекс, и объект Не используйте enumerateObjectsUsingBlock , когда вам нужно изменить локальные переменные (я ошибался, см. ответ bbum) Считается ли...
63932 просмотров

Objective-C: вызов и копирование одного и того же блока из нескольких потоков
Здесь я имею дело с нейронными сетями, но это можно игнорировать, поскольку реальный вопрос касается блоков в Objective-C. Вот моя проблема. Я нашел способ преобразовать нейронную сеть в большой блок, который можно выполнить сразу. Однако это...
1051 просмотров

При создании модульных тестов для цели C, как вы тестируете блоки?
У меня есть функция (внутренне использует ASIHTTPRequest), которая вызывает блок с результатом: [Http get:@"http://api.geonames.org/postalCodeLookupJSON" params:params cacheMins:0 complete:^(NSDictionary *response, BOOL success) {...
1657 просмотров

Как сделать анимацию UIView на основе блоков опциональной?
В моем пользовательском элементе управления есть метод -setValue:animated:, который принимает флаг animated . До iOS 4 я бы написал анимацию следующим образом: if (animated) { [UIView beginAnimations:@"Foo"]; [UIView...
362 просмотров

Существует ли общий непосредственно исполняемый тип для блоков Objective-C?
Я хотел бы избавиться от объявления сложного типа перед моими одноразовыми блоками: void (^blockHelperA)(NSString*, NSString*) = ^(NSString *foo, NSString *bar) {…}; Это можно было бы переписать как: id blockHelperB = ^(NSString *foo,...
1546 просмотров
schedule 09.07.2022

Управление памятью с блочным программированием в Objective C
Я читал следующую документацию Apple по блоку завершения в очередях отправки, и у меня возникли проблемы с пониманием ее части. В документе упоминается, что для предотвращения преждевременного освобождения очереди крайне важно сохранить эту очередь...
1405 просмотров

Может ли блок в Objective-C принимать нулевое значение в качестве параметра?
Следующий код загружает изображение и возвращает результат с блоком, чтобы я мог воспользоваться преимуществами асинхронных функций блоков и Grand Central Dispatch. Я обнаружил, что если изображение или объект ошибки равны нулю, я получаю ошибку...
1061 просмотров

Цель развертывания iOS и поддержка блоков
Если я использую блоки в своем коде и устанавливаю цель развертывания iOS ниже iOS 4.0, будет ли приложение по-прежнему работать на устройствах с iOS ниже 4.0? Базовый SDK, очевидно, установлен на последнюю версию iOS (iOS 4.3).
618 просмотров

EXC_BAD_ACCESS при копировании или сохранении блока
Насколько я понимаю, блок действует как объект, в том смысле, что вы можете отправлять ему сообщения копирования или выпуска, например: [myBlock copy]; Однако всякий раз, когда я это делаю или освобождаю блок, я получаю EXC_BAD_ACCESS....
3577 просмотров

Как я могу упорядочить асинхронные фоновые задачи с помощью GCD?
Я использую GCD на iOS для выполнения трудоемкой задачи в фоновом потоке. В API есть метод запуска, который принимает в качестве аргументов два блока, оба вызываются в основной очереди. Первый вызывается при запуске задачи, а второй — при завершении...
1494 просмотров

Блок завершения Objective-C, вызывающий дополнительный вызов метода?
Вот странный. Мое приложение отправляет сообщение о завершении работы объекту, управляющему аппаратным устройством, с блоком завершения в качестве аргумента. Сообщение о завершении работы возвращает BOOL в зависимости от того, удалось ли немедленно...
1587 просмотров
schedule 21.05.2023

Основная анимация с блоками на Mac?
Можно ли выполнять анимацию с помощью Core Animation с использованием блоков на Mac аналогично тому, как это можно сделать на iOS? Я хотел бы иметь возможность настроить блоки завершения в конце анимации для удаления просмотров и т. д. Я знаю, что...
597 просмотров

Обход ключей/значений NSDictionary, enumerateKeysAndObjectsUsingBlock более эффективен, чем зацикливание ключей и вызов objectForkey:?
Мне нужно обойти все пары ключ/значение словаря и что-то сделать с обоими полями. Мне интересно, что более эффективно, традиционный подход «для каждого ключа» или подход блоков с использованием enumerateKeysAndObjectsUsingBlock:. Вот вам пример:...
13849 просмотров

Выполнить блок внутри NSOperation
У меня есть метод в каком-то классе, который выполняет какую-то задачу, используя блок. Когда я выполняю этот метод с помощью NSInvocationOperation, управление никогда не переходит к блоку. Я пытался войти в блок, но на самом деле это никогда не...
1181 просмотров

Почему не вызывается Remove Observer из NSNotificationCenter:addObserverForName:usingBlock
Я не понимаю, почему наблюдатель никогда не удаляется в следующем коде. На мой взглядDidAppear у меня есть следующее: -(void)viewDidAppear:(BOOL)animated{ id gpsObserver = [[NSNotificationCenter defaultCenter]...
7074 просмотров

Неизвестный селектор блока iOS 5
Я пытаюсь назначить блок объекту кнопки, чтобы каждый раз при нажатии кнопки блок выполнялся. У меня есть следующий определенный подкласс кнопки, который содержит блок для каждой уникальной кнопки, которую я создаю. typedef void...
459 просмотров
schedule 01.01.2023

предотвращение неиспользованного предупреждения результата выражения в блоке
Следующий код возвращает предупреждение о неиспользованном выражении при операции присваивания в блоке. Код не очень практичен, но в исключенном разделе гораздо больше кода, и этот код должен выполняться в определенной очереди. __block NSNumber...
6266 просмотров
schedule 10.06.2023

Блоки Objective-C и переменная область видимости
Я хотел бы установить значение объекта NSData в моем блоке. Может кто-нибудь сообщить мне, что я сделал неправильно здесь? // Data __block NSData *data = nil; [ZSURLConnection performRequestWithUrl:wsdlURL xmlString:xml...
1830 просмотров

Получение данных с веб-сервера в фоновом режиме в Objective-C
Я хочу создать одно приложение для iPhone, которое будет извлекать данные с веб-сервера через каждый определенный интервал времени. даже если приложение работает в фоновом режиме. Я пытаюсь получить данные после каждого временного интервала...
1071 просмотров

Как работает спецификатор __block?
Я могу указать переменную в стеке с помощью спецификатора __block , а затем изменить ее в блоке. Мне просто интересно, что происходит за кулисами? (Если блок будет выполнен когда-то в будущем, стек может быть очищен)
1223 просмотров