Вопросы по теме 'objective-c-blocks'
Символ вставки между типами, а не переменными, окруженный круглыми скобками
Я просматривал документацию Apple и увидел что-то вроде этого (void (^)(void)) . Кто-нибудь может объяснить, что означает это утверждение? ^ это XOR, верно? void XOR void не имеет для меня особого смысла?
Еще было что-то вроде (void...
784 просмотров
schedule
20.04.2024
Ссылки на блоки как переменные экземпляра в Objective-C
Мне было интересно, можно ли сохранить ссылку на анонимную функцию (блок) в качестве переменной экземпляра в Objective-C.
Я знаю, как использовать делегирование, целевое действие и т. д. Я не об этом.
20154 просмотров
schedule
06.01.2024
Как создать в коде имена IBOutlet, чтобы их можно было изменить?
Скажем, у меня есть несколько UILabels, которые были настроены в IB и подключены к IBOulets в коде (label1, label2, label3, label4)
Как мне создать эти имена переменных в коде, чтобы я мог изменять текст каждой из них в цикле, где метки берутся из...
302 просмотров
schedule
04.05.2022
Удаление управляемых объектов в фоновом блоке
На iPhone я пытался удалить управляемые объекты в фоновом режиме:
- (void) cleanUp {
dispatch_queue_t queue_cleanUp;
queue_cleanUp = dispatch_queue_create("com.aroundcal.cleanup", NULL);
dispatch_async(queue_cleanUp, ^{
while...
256 просмотров
schedule
14.06.2022
Блок UIButton эквивалентен методу addTarget:action:forControlEvents:?
Я осмотрелся, но не смог найти это ни в Интернете, ни где-либо в документации Apple, поэтому я предполагаю, что этого не существует.
Но есть ли блоки iOS4, эквивалентные API для:
[button addTarget:self action:@selector(tappy:)...
36421 просмотров
schedule
31.07.2022
Как прокомментировать расширение блока Apple для Doxygen?
Doxygen объявил в своем журнале изменений для версии 1.7.2 о поддержке блочного расширения Apple . Интересно, какой синтаксис для создания документации. Никакой подсказки я не нашел - в конфигурационном файле doxygen (версия 1.7.2) тоже нет....
787 просмотров
schedule
08.04.2024
Могу ли я использовать блоки Objective-C в качестве свойств?
Можно ли иметь блоки как свойства, используя стандартный синтаксис свойств?
Есть ли какие-либо изменения для ARC ?
120294 просмотров
schedule
24.05.2022
NSComparisonResult и NSComparator — что это такое?
Что такое NSComparisonResult и NSComparator ?
Я видел одно из определений типа, что-то вроде этого:
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
Отличается ли он от указателя на функцию?
Кроме того, я даже не могу...
21932 просмотров
schedule
07.05.2022
Как запустить блок после задержки, например -performSelector: withObject: afterDelay :?
Есть ли способ вызвать блок с примитивным параметром после задержки, например, с использованием performSelector:withObject:afterDelay: , но с аргументом типа _2 _ / _ 3 _ / _ 4_?
364379 просмотров
schedule
30.12.2022
Можно ли определить блок как член класса?
Я пытаюсь реализовать очень простой класс стратегии в Objective-C, который позволяет определять стратегии как встроенные, а не через наследование. В настоящее время мой код выглядит так:
@interface SSTaskStrategy : NSObject {
(NSArray...
2489 просмотров
schedule
13.01.2023
Grand Central Dispatch (GCD) и асинхронные API
Я использую Twitter API для публикации твитов. Иногда это может занять некоторое время, поэтому я хочу выполнить операцию «Публикация твита» в фоновом режиме. Для этого я использую GCD, например:
- (void)myClassMethodToPostTweet {...
1228 просмотров
schedule
10.10.2022
EXC_BAD_ACCESS вызывает блок
ОБНОВЛЕНИЕ | Я загрузил пример проекта с использованием панели и сбоя здесь: http://w3style.co.uk/~d11wtq/BlocksCrash.tar.gz (я знаю, что кнопка "Выбрать..." ничего не делает, я еще не реализовал ее).
ОБНОВЛЕНИЕ 2 | Только что обнаружил, что...
5622 просмотров
schedule
13.04.2022
setKeepAliveTimeout и фоновые задачи
У меня большая головная боль с этой темой. Я работаю над приложением, которое должно регулярно опрашивать веб-сервер, чтобы проверять наличие новых данных. На основе возвращенной информации я хочу отправить локальное уведомление пользователю.
Я...
19625 просмотров
schedule
16.01.2024
iOS 4 блокирует и сохраняет счетчики
Я только начинаю работать с блоками и Grand Central Dispatch. Мне сказали (и я прочитал в документацию Apple ), что любой объект, на который ссылаются внутри блока, сохраняется.
Например:
^{
self.layer.transform =...
8963 просмотров
schedule
12.11.2022
Цель C - блокировать вопрос?
У меня есть следующий метод
+ (NSString*)getMeMyString
{
NSString *result;
dispatch_async(dispatch_get_main_queue(), ^{
result = [ClassNotThreadSafe getString];
});
return result;
}
Как я могу заставить блок выполнять...
646 просмотров
schedule
11.10.2022
Переменная Obj-C __block сохраняет поведение
Я сталкиваюсь со странной проблемой при попытке доступа к переменной __block (изменяемый блок) из-за пределов блока, в котором она изменена. Это очень игрушечный пример, который я использую только для того, чтобы лучше понять блоки в целом, но в...
4146 просмотров
schedule
22.09.2023
Возможность сохранения цикла с помощью animateWithDuration:
Могу ли я когда-нибудь столкнуться с циклом сохранения блока с помощью animateWithDuration:animations:completion: ? Если да, то не могли бы вы показать мне пример?
Также я не смог найти в документе Apple, что блок completion: копируется в кучу....
715 просмотров
schedule
17.07.2023
Заставьте блоки iOS выполняться синхронно
Как заставить блок выполняться синхронно или заставить функцию ждать обработчика перед оператором возврата, чтобы данные можно было передать обратно из блока?
-(id)performRequest:(id)args
{
__block NSData *data = nil;
[xyzclass...
18328 просмотров
schedule
29.10.2022
Рекурсивный метод, содержащий блок UIAnimation, как правильно освободить
Я сделал небольшой «загрузчик», который я могу прикрепить к пользовательскому интерфейсу, когда мне это нужно. Очень похоже на UISpinnerView.
У него есть некоторая логика (я упростил код в блоке для этого поста), которая требует рекурсивного...
636 просмотров
schedule
22.05.2024
Странный сбой при обмене аргументами блока и фантомного блока
Я полностью озадачен этим и надеюсь, что кто-то может мне помочь здесь:
Класс А :
- (void)setBlock:(BOOL(^)(id sender))block {
myBlock = Block_copy(block);
}
- (BOOL)runBlock:(id)sender {
myBlock(sender);
}
Класс B :
-...
7679 просмотров
schedule
07.09.2022