0
ответов

dispatch_queue_t нужно освободить с помощью dispatch_release ()?

У меня есть два асинхронных блока GCD . Первый - для фонового потока, второй - для основного потока. Это прекрасно работает, но я только что видел где-то разговоры о том, что мне, возможно, нужно выпустить их ...
вопрос задан: 23 February 2012 23:04
0
ответов

Блочная версия performSelectorOnMainThread: withObject: waitUntilDone:

Есть ли способ, которым я могу выполнить блок, а не селектор, соответствующий этому и подобным методам? У меня есть наблюдатели, которые могут получать события, которые не сгенерированы в основном потоке. Я хочу ...
вопрос задан: 21 February 2012 18:46
0
ответов

Ссылка на объект NSOperation в его собственном блоке завершения в ARC

У меня возникают трудности с преобразованием некоторого кода NSOperation в ARC. Мой объект операции использует блок завершения, который, в свою очередь, содержит блок GCD, обновляющий пользовательский интерфейс в главном потоке. Поскольку я ...
вопрос задан: 10 February 2012 05:15
0
ответов

Список синтаксиса объявления блока

Синтаксис блока в Objective C (и, действительно, C, как я полагаю) заведомо несовместим. Передача блоков в качестве аргументов выглядит иначе, чем объявление блоков как ivars, что выглядит иначе, чем определение типов ...
вопрос задан: 8 February 2012 10:13
0
ответов

Можно передать [self anyFunction] в блоках без объекта __weak (iOS 5 + ARC)

Можно ли передать [self anyFunction] в блоках без объекта __weak от self? В качестве примера это допустимый код из System Framework: [UIView animateWithDuration: 0.8 анимации: ^ {...
вопрос задан: 27 January 2012 22:29
0
ответов

Iterate over all subviews of a specific type

Итерация всех UIViews в subviews класса, а затем проверка типа в цикле с помощью isKindOfClass сделала мой код избыточным. Поэтому я написал следующий метод, который выполняет блок для ...
вопрос задан: 25 January 2012 09:26
0
ответов

предотвращение предупреждения "результат выражения не используется" в блоке

Следующий код возвращает предупреждение о неиспользовании выражения на операции присваивания в блоке. Код не очень практичен, но в исключенном разделе есть гораздо больше кода, и этот код ...
вопрос задан: 21 January 2012 12:28
0
ответов

__ цикл самостоятельной ссылки блока в блоке ivar в ARC

У меня есть некоторый код с очевидным циклом ссылки в блоке ivar . Следующий код вызывает ссылочный цикл, и метод dealloc никогда не вызывается: __block MyViewController * blockSelf = self; ...
вопрос задан: 18 January 2012 19:25
0
ответов

Recursive Blocks in Objective-C leaking in ARC

Итак, я использую рекурсивные блоки. Я понимаю, что для того, чтобы блок был рекурсивным, ему должно предшествовать ключевое слово __block, и он должен быть скопирован, чтобы его можно было поместить в кучу. Однако, когда я делаю ...
вопрос задан: 17 January 2012 14:42
0
ответов

Должен ли я копировать блок сюда?

Я понимаю, что вы должны копировать блоки, чтобы они оставались после выхода из кадра стека. Но как это применимо к блокам, выделенным стеком, используемым во вложенном блоке, как показано ниже ...
вопрос задан: 13 January 2012 20:08
0
ответов

Как освободить объект с обработчиком завершения блока в ARC?

В моем коде часто встречается выделение объекта, выполнение им некоторых действий с обработчиком завершения и его освобождение в обработчике: LongOperation *foo = [[LongOperation alloc] init]; [foo ...
вопрос задан: 3 January 2012 21:17
0
ответов

Как передать блок в качестве аргумента другому блоку в Objective C

Я пытаюсь определить блок, который принимает блок в качестве аргумента. Что не так со следующей строкой кода? id (^ cacheResult) (NSString *, id (^) (void)) = ^ (NSString * name, id (^) (void) block) {...
вопрос задан: 30 December 2011 18:35
0
ответов

Использование блоков внутри блоков в Objective-C: EXC_BAD_ACCESS

Используя новый API TWRequest в iOS 5, я столкнулся с кирпичной стеной, связанной с использованием блоков. Мне нужно сделать так, чтобы после получения успешного ответа на первый запрос, немедленно выполнялся еще один. На ...
вопрос задан: 28 December 2011 22:59
0
ответов

Есть ли преимущество в использовании блоков перед функциями в Objective-C?

Я знаю, что блок - это многократно используемый фрагмент исполняемого кода в Objective-C. Есть ли причина, по которой я не должен помещать тот же кусок кода в функцию и просто вызывать функцию, когда мне нужен этот код, чтобы ...
вопрос задан: 27 December 2011 17:30
0
ответов

Лучший метод замены методов делегирования блоками

Я хочу создать категорию для замены методов делегирования блоками обратного вызова для многих простых API-интерфейсов iOS. Подобно блоку sendAsyc в NSURLConnection. Есть 2 метода, которые ...
вопрос задан: 27 December 2011 16:40
0
ответов

Вызов super в реализации блока Objective-C

Поддерживается ли вызов метода на super в реализации блока Objective-C? Когда я вызывал метод на super, возникала ошибка EXC_BAD_ACCESS, но как только я изменил эти вызовы ...
вопрос задан: 24 December 2011 15:16
0
ответов

Почему не удаляется Observer из NSNotificationCenter: addObserverForName: usingBlock вызывается

Я запутался, почему наблюдатель никогда не удаляется в следующем коде. В моем viewDidAppear у меня есть следующее: - (void) viewDidAppear: (BOOL) animated {id gpsObserver = [[NSNotificationCenter ...
вопрос задан: 12 December 2011 16:41
0
ответов

Можно ли использовать блоки в асинхронных результатах с restkit?

--UPDATE: Я решил попробовать AFNetworking. Несмотря на то, что RestKit имеет действительно хорошую функциональность отображения объектов, то, как были разработаны сетевые вызовы, сделало некоторые вещи сложными для ...
вопрос задан: 12 December 2011 13:48
0
ответов

Как найти блоки Objective-C в инструментах выделения или утечек

Первый вопрос, так что не обвиняйте меня ...Для стандартных объектов, а также для подклассов, которые я создаю, довольно просто найти в Allocations или Leaks Instruments ...
вопрос задан: 9 December 2011 19:33
0
ответов

Как мне получить возвращаемое значение из блока завершения?

Можно ли запустить блок завершения в основном потоке? Например, у меня есть один метод, который возвращает значение: - (int) test {/ * здесь один метод вызывается с блоком завершения с возвратом ...
вопрос задан: 8 December 2011 16:44
0
ответов

Objective-C обработчик обратного вызова [закрыто]

У меня есть метод обратного вызова, который я заставил работать, но я хочу знать, как передавать ему значения. У меня есть следующее: @interface DataAccessor : NSObject { void (^_completionHandler)(Account *...
вопрос задан: 5 December 2011 23:31
0
ответов

Синтаксис для свойства Objective-C блочного типа (без typedef)

Синтаксис для объявления свойства, относящегося к блоку, следующий: typedef void (^ voidBlock) (); @ property (nonatomic , копировать) voidBlock callback; ... @ синтезировать обратный вызов; Как это могло быть сделано без ...
вопрос задан: 2 December 2011 18:32
0
ответов

Блоки и self из вызванного метода

Хорошо, я понял, как избежать циклов сохранения self с помощью блоков, а как насчет случаев, когда я посылаю сообщение self из метода внутри блока, вложенного глубже в стек вызовов, как это сделано здесь: - (void)methodA { ...
вопрос задан: 2 December 2011 13:25
0
ответов

setNeedsDisplay не работает внутри блока

Я использую CMMotionManager для получения данных акселерометра. Дело в том, что данные акселерометра распечатываются периодически, переменные экземпляра изменяются в представлении, но представление не ...
вопрос задан: 29 November 2011 15:20
0
ответов

Компактное отключение предупреждения о циклах сохранения дуги для самореференционных блоков

Я пишу API, который включает обработку событий, и я хотел бы иметь возможность использовать блоки для обработчиков. Обратные вызовы часто хотят получить доступ или изменить себя. В режиме ARC Clang предупреждает, что блокирует ...
вопрос задан: 24 November 2011 01:11
0
ответов

Разница между блоками в C и Objective C

Вот отрывок из раздела Концептуальный обзор Руководства по программированию блоков. Вы можете скопировать блок и даже передать его другим потокам для отложенного выполнения (или, в пределах его собственного потока, в a ...
вопрос задан: 18 November 2011 22:09
0
ответов

Блок освобождается, пока в NSDictionary (ARC)

Я пытаюсь сохранить ссылку на блок, который был передан моему классу методом, чтобы вызвать его позже. Однако у меня возникли проблемы с сохранением ссылки на него. Очевидный способ, я ...
вопрос задан: 14 November 2011 05:26
0
ответов

Блоки Objective-C и объекты C ++

У меня есть метод, который выполняется в фоновом потоке. С помощью этого метода я пытаюсь dispatch_async блок в основном потоке. Блок использует локальный объект C ++, который должен быть ...
вопрос задан: 13 November 2011 21:01
0
ответов

Как отменить NSBlockOperation

У меня есть длительный цикл, который я хочу запустить в фоновом режиме с помощью NSOperation. Я хотел бы использовать блок: NSBlockOperation * operation = [NSBlockOperation blockOperationWithBlock: ^ {while (/ * not ...
вопрос задан: 13 November 2011 06:20
0
ответов

Может ли AFNetworking возвращать данные синхронно (внутри блока)?

У меня есть функция, использующая AFJSONRequestOperation, и я хочу вернуть результат только после успеха. Не могли бы вы указать мне правильное направление? Я все еще немного не разбираюсь в блоках и AFNetworking ...
вопрос задан: 4 November 2011 22:24