ブロックとクロージャについての明確化が必要です。ブロック/クロージャの理解
ブロックはどのようにオブジェクトを保持しますか?なぜ弱い内側のブロックだけを使う必要があるのでしょうか?私たちがこれに従わなければどうなるでしょうか?または、ブロックを明確にしてください。
以下は、閉鎖のOSです。
私はこのようなコードを書いています。 favouriteButton
は自己の財産です。
favouriteButton.hidden = false
dispatch_async(dispatch_get_main_queue(), {
self._collectionView.reloadData()
})
エラーはありませんでした。だから私はメインスレッドでUIをやっていると思った。そこで以下のように隠しブロックを無効にするコードを移動しました。
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()
})
が必要で示し/効果的にブロックする。
- ブロックとクロージャは同じ方法で機能しますか?