Вопросы по теме '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 просмотров
schedule
23.04.2024
Функция, которая возвращает функцию
Как назначить и впоследствии вызвать функцию, которая возвращает функцию в локальную переменную в Objective-C?
ОБНОВИТЬ:
Я придумал следующее, но, боюсь, это все еще неправильно:
(void (^)()) (^loadedCallback) () = (void (^)()) ^(){...
253 просмотров
schedule
17.12.2023
Построить NSInvocation с аргументом Block
Я пытаюсь отправить блок в качестве аргумента методу, вызываемому NSInvocation (который для контекста запускается NSInvocationOperation). Вызов должен сохранять аргументы, и, похоже, он работает для «обычных» параметров объекта, но для блока...
1927 просмотров
schedule
02.02.2024
Макрос препроцессора, использующий символ вставки ^ в начале выражения
Глядя на эту страницу: 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 просмотров
schedule
28.11.2022
Переменные __block должны быть сохранены в блоке
Я хочу использовать массив результатов после выполнения блока, мой вопрос: следует ли сохранять экземпляр массива результатов, поскольку он был создан из блока?
__block NSError *error = nil;
__block NSArray *results;
[moc...
1089 просмотров
schedule
23.10.2022
Приводит ли вызов 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 просмотров
schedule
19.04.2024
Селекторы или блоки для обратных вызовов в библиотеке Objective-C
Вопрос
Мы разрабатываем пользовательскую систему сообщений EventEmitter на языке Objective-C. . Чтобы слушатели могли предоставлять обратные вызовы, мы должны требовать блоки или селекторы а почему?
Что бы вы предпочли использовать как...
3209 просмотров
schedule
29.11.2022
В 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 просмотров
schedule
27.01.2024
Нужно ли всегда использовать слабые ссылки на себя внутри блоков?
Меня смущает использование блоков self inside, я просматриваю некоторые документы Apple, но до сих пор не могу найти правильный ответ.
Некоторые люди всегда говорят, что используйте слабое я внутри блоков, но некоторые говорят, что используйте...
13885 просмотров
schedule
31.03.2024
Интеграция AFNetworking AFXMLRequestOperation в мой собственный метод с обратным вызовом завершения блока
Я использую метод AFXMLRequestOperation замечательного AFNetworking . То, что я хотел бы использовать, это использовать следующее, но обернуть вокруг него свой собственный метод с моим собственным обратным вызовом завершения.
NSURLRequest...
3329 просмотров
schedule
12.04.2024
ARC, кажется, перевыпускает объекты, на которые ссылаются в блоках, которые создаются и отправляются в цикле.
Я пытаюсь выполнить некоторые сложные вычисления в фоновом потоке с помощью dispatch_async, но объекты, которые я использую в блоках, кажутся перегруженными. Я использую ARC, поэтому я предположил, что мне не нужно особо заботиться о сохранении и...
384 просмотров
schedule
03.03.2024
iOS/Objective-C: как смешивать делегирование и блоки?
У меня два класса. Delegator использует делегирование для отправки своего результата. Blocker использует блоки в статических методах.
Без изменения Delegator , как я могу элегантно и легко реализовать methodWithBlock , чтобы блок...
1367 просмотров
schedule
23.12.2023
В блоке Objective-C использовались сильные переменные
я хочу понять, какая функция правильная, и надеюсь, что некоторые люди могут дать мне совет между func1 и func2.
теперь я использовал func1, некоторые люди сказали мне, что func2 имеет проблемы с памятью.
@property (nonatomic) NSDictionary...
109 просмотров
schedule
02.11.2022
Как я могу создать блок, который «обертывает» пару «цель/селектор»?
Я люблю блоки, и они очень крутые.
Тем не менее, я обнаружил, что блоки могут загромождать мой код и затруднять его чтение, не складывая их все внутри Xcode (что мне не нравится делать).
Мне нравится разбивать мой код на логические методы...
641 просмотров
schedule
09.11.2023
Нужно ли в параметрах блока указывать квалификаторы владения при предоставлении слабых ссылок?
Я пытаюсь использовать блоки таким образом, что я предоставляю ссылку на объект, который сохраняет блок, следующим образом:
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 просмотров
schedule
08.02.2024
Как асинхронно рисовать контекст GLKit OpenGL ES из очереди отправки Grand Central на iOS
Я пытаюсь переместить длительные операции рисования OpenGL в очередь GCD, чтобы я мог заниматься другими делами, пока GPU работает. Я бы гораздо лучше сделать это с помощью GCD, а не добавлять в свое приложение настоящую многопоточность. Буквально...
2714 просмотров
schedule
27.11.2023
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 просмотров
schedule
20.09.2022