Требуется уточнение по блокам и закрытию.Пояснение к блоку/закрытию
Как блоки сохраняют объект? или почему нам нужно использовать только слабый внутренний блок? Что произойдет, если мы не будем следовать этому? Или, пожалуйста, дайте некоторую ясность в отношении блока.
Нижняя часть одной крышки для закрытия.
Я написал несколько таких кодов. favouriteButton
является собственностью самого себя.
favouriteButton.hidden = false
dispatch_async(dispatch_get_main_queue(), {
self._collectionView.reloadData()
})
Это не дало ошибок. Поэтому я думал о создании пользовательского интерфейса в основной теме. Поэтому я переместил код, чтобы отключить скрытый внутри блока, как показано ниже.
dispatch_async(dispatch_get_main_queue(), {
favouriteButton.hidden = false
self._collectionView.reloadData()
})
Это показывает ошибка как
ссылкой на собственность 'favouriteButton' в закрытии требует явного 'я'
dispatch_async(dispatch_get_main_queue(), {
self.favouriteButton.hidden = false
self._collectionView.reloadData()
})
Может ли один объяснить, как использовать замыкание/эффективно.
- Работает ли блоки и затворы одинаково?