Может кто-нибудь показать мне, как создать блок для этого метода, который содержит несколько параметров, поскольку я знаю только, как создавать блоки для одного параметра. addObserverForName: object: queue: usingBlock:Создание блоков для addObserverForName: object: queue: usingBlock:
ответ
Что я делаю, это отправка единственного параметра, который на самом деле является NSDictionary ... поэтому я могу отправить много информации в один параметр. GL HF
Метод центра уведомлений addObserverForName: object: queue: usingBlock: имеет фиксированную подпись блока для вызываемого блока. Вы не можете добавить дополнительные параметры в блок.
Однако, как правило, это не проблема. Блоки наследуют область, в которой они определены. Если вы передаете блок центру уведомлений из метода экземпляра объекта, доступны все переменные экземпляра и свойства объекта, делающего вызов, а также локальные переменные в действительном методе, которые делают addObserverForName: object: queue: используяBlock: call.
Система играет в некоторые игры, чтобы это произошло. Локальные переменные копируются из стека в кучу во время передачи блока.
Ссылаясь на «self» в блоке, как правило, это плохая идея. Это может привести к сохранению объекта (self) и созданию циклов сохранения. В этом случае я обычно создаю локальную переменную «сам», которая указывает на себя и устанавливает ее в начале метода.
- 1. Правильное управление addObserverForName: object: queue: usingBlock:
- 2. Сохранять циклы при использовании addObserverForName: object: queue: usingBlock:
- 3. addObserverForName и удаление наблюдателя
- 4. использовать правильное уведомлениеCenter addObserverForName с блоками
- 5. Создание очередей блоков с завершением
- 6. Есть ли временное решение для случайного сбоя с EXC_BAD_ACCESS при отправке NSNotification в - [NSNotificationCenter addObserverForName: ...]
- 7. Object-C clang-format для блоков
- 8. Создание асинхронных блоков выполняется перед другим кодом
- 9. Создание многоразовых блоков Arel
- 10. Создание пользовательских свойств для JMS Queue
- 11. dequeue object from front of queue
- 12. Создание классов для вложенных блоков в Ruby
- 13. Автоматическое создание doc-блоков для phpdocumentor 2
- 14. Object-c использование блоков с рекурсией
- 15. Создание 3D-карты из блоков
- 16. jQuery - Breakout game - Создание блоков
- 17. Хранение блоков с переменным размером в std :: queue?
- 18. enumerateObjectsWithOptions: usingBlock: вызывает частые необъяснимые зависания
- 19. Динамическое создание блоков в кузнечике
- 20. python threading with queue queue
- 21. Пример с .queue() & .dequeue() для $ .queue() & $ .dequeue()
- 22. Создание протокола прокрутки в swift 2.2
- 23. создание GamesClient object
- 24. Создание делегатов на месте с помощью блоков
- 25. создание словаря python threadafe как queue
- 26. Queue, delay, stop queue
- 27. Создание Queue Manager в Заявленная хоста
- 28. IPC System V - Message Queue создание
- 29. NotificationCenter наблюдатели предотвратить dealloc с ARC
- 30. Сохранять циклы для блоков внутри блоков
Что вы имеете в виду? Блок в этом методе принимает только уведомление об ошибке в качестве параметра. Вы не можете использовать блок с разными параметрами. Что ты пытаешься сделать? – Abizern
Я пытаюсь выполнить вызов в книге, и он просит создать блок для этого метода. Как я могу это сделать иначе. – user3090658
Это зависит от того, что вы хотите сделать. – Abizern