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

Странная проблема из-за поддержки блокировки в iOS 3.1.3
поскольку я регулярно тестирую свое приложение на устройстве 3.1.3, мне пришлось добавить флаг компоновщика «-weak_library /usr/lib/libSystem.B.dylib» для поддержки там блоков. Это не было проблемой, пока я просто не начал добавлять код для игрового...
1172 просмотров
schedule 22.09.2022

Block_release освобождает объекты пользовательского интерфейса в фоновом потоке
Один из шаблонов, представленных на конференции WWDC 2010 «Blocks and Grand Central Dispatch», заключался в использовании вложенных вызовов dispatch_async для выполнения трудоемких задач в фоновом потоке с последующим обновлением пользовательского...
4326 просмотров

Функция, которая возвращает функцию
Как назначить и впоследствии вызвать функцию, которая возвращает функцию в локальную переменную в Objective-C? ОБНОВИТЬ: Я придумал следующее, но, боюсь, это все еще неправильно: (void (^)()) (^loadedCallback) () = (void (^)()) ^(){...
253 просмотров

Построить NSInvocation с аргументом Block
Я пытаюсь отправить блок в качестве аргумента методу, вызываемому NSInvocation (который для контекста запускается NSInvocationOperation). Вызов должен сохранять аргументы, и, похоже, он работает для «обычных» параметров объекта, но для блока...
1927 просмотров

Макрос препроцессора, использующий символ вставки ^ в начале выражения
Глядя на эту страницу: http://www.mikeash.com/pyblog/friday-qa-2010-12-31-c-macro-tips-and-tricks.html Я нашел этот фрагмент кода с синтаксисом ^{ ... }() , что делают каретки/скобки? #define MAX(x, y) (^{ \ int my_localx = (x); \...
696 просмотров

Переменные __block должны быть сохранены в блоке
Я хочу использовать массив результатов после выполнения блока, мой вопрос: следует ли сохранять экземпляр массива результатов, поскольку он был создан из блока? __block NSError *error = nil; __block NSArray *results; [moc...
1089 просмотров

Приводит ли вызов dispatch_sync(dispatch_get_global_queue()) в основном потоке к зависанию приложения?
// Method called when a button is clicked - (void)handleClickEvent { dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [self backgroundProcessing]; }); // Some code to update the UI of the...
6870 просмотров

Селекторы или блоки для обратных вызовов в библиотеке Objective-C
Вопрос Мы разрабатываем пользовательскую систему сообщений EventEmitter на языке Objective-C. . Чтобы слушатели могли предоставлять обратные вызовы, мы должны требовать блоки или селекторы а почему? Что бы вы предпочли использовать как...
3209 просмотров

В ARC продолжайте получать EXC_BAD_ACCESS после использования ARC из-за использования Block?
Проблема: я продолжаю получать EXC_BAD_ACCESS. И после того, как я открыл NSZombieEnabled, я увидел это [FeatureCommentListViewController responsesToSelector:]: сообщение, отправленное на освобожденный экземпляр 0x7c1dc30 До того, как я сменил...
381 просмотров
schedule 03.10.2022

Objective-C — Блоки и управление памятью?
__weak MyClass *selfReference = self; dispatch_async(dispatch_get_main_queue(), ^{ [selfReference performSomeAction]; }); Когда вам нужно передать слабую ссылку на блок? Применяется ли это правило к dispatch_async, а также к...
3860 просмотров

Нужно ли всегда использовать слабые ссылки на себя внутри блоков?
Меня смущает использование блоков self inside, я просматриваю некоторые документы Apple, но до сих пор не могу найти правильный ответ. Некоторые люди всегда говорят, что используйте слабое я внутри блоков, но некоторые говорят, что используйте...
13885 просмотров
schedule 31.03.2024

Интеграция AFNetworking AFXMLRequestOperation в мой собственный метод с обратным вызовом завершения блока
Я использую метод AFXMLRequestOperation замечательного AFNetworking . То, что я хотел бы использовать, это использовать следующее, но обернуть вокруг него свой собственный метод с моим собственным обратным вызовом завершения. NSURLRequest...
3329 просмотров

ARC, кажется, перевыпускает объекты, на которые ссылаются в блоках, которые создаются и отправляются в цикле.
Я пытаюсь выполнить некоторые сложные вычисления в фоновом потоке с помощью dispatch_async, но объекты, которые я использую в блоках, кажутся перегруженными. Я использую ARC, поэтому я предположил, что мне не нужно особо заботиться о сохранении и...
384 просмотров

iOS/Objective-C: как смешивать делегирование и блоки?
У меня два класса. Delegator использует делегирование для отправки своего результата. Blocker использует блоки в статических методах. Без изменения Delegator , как я могу элегантно и легко реализовать methodWithBlock , чтобы блок...
1367 просмотров

В блоке Objective-C использовались сильные переменные
я хочу понять, какая функция правильная, и надеюсь, что некоторые люди могут дать мне совет между func1 и func2. теперь я использовал func1, некоторые люди сказали мне, что func2 имеет проблемы с памятью. @property (nonatomic) NSDictionary...
109 просмотров
schedule 02.11.2022

Как я могу создать блок, который «обертывает» пару «цель/селектор»?
Я люблю блоки, и они очень крутые. Тем не менее, я обнаружил, что блоки могут загромождать мой код и затруднять его чтение, не складывая их все внутри Xcode (что мне не нравится делать). Мне нравится разбивать мой код на логические методы...
641 просмотров

Нужно ли в параметрах блока указывать квалификаторы владения при предоставлении слабых ссылок?
Я пытаюсь использовать блоки таким образом, что я предоставляю ссылку на объект, который сохраняет блок, следующим образом: typedef void(^RunBlock)(__weak Thing *block_owner, ThingFinishBlock finish); где Thing имеет свойство run_block...
79 просмотров
schedule 25.02.2024

Использование блоков и GCD для управления задачами
Я изучаю iOS, и когда дело доходит до GCD, это сбивает с толку. Давайте разберемся, я пишу небольшую программу, которая извлекает данные из Интернета. Вот мой вьюконтроллер NSMutableArray dataArray = [NSMutableArray array];...
99 просмотров

Как асинхронно рисовать контекст GLKit OpenGL ES из очереди отправки Grand Central на iOS
Я пытаюсь переместить длительные операции рисования OpenGL в очередь GCD, чтобы я мог заниматься другими делами, пока GPU работает. Я бы гораздо лучше сделать это с помощью GCD, а не добавлять в свое приложение настоящую многопоточность. Буквально...
2714 просмотров

Objective-c: анимация UIView + блок + рекурсия
#import "ViewController.h" typedef void (^myBlock)(int ); @interface ViewController () @property (strong, nonatomic) IBOutlet UIView *testView; @end @implementation ViewController - (IBAction)blockTest:(id)sender...
440 просмотров