在Swift中,可以用闭包代替OC中的Block。
1.首先在B中声明一个闭包,然后把闭包声明成属性:
import UIKit
typealias collectionViewblcok = (String) ->()
class CollectionViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
2.在B中,选中部分为按钮点击事件:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
clickCollectionView!("点击collectionView")
}
3.在A中,写法为选中部分:
//weak var weakSelf = self
let collectionVC = CollectionViewController()
collectionVC.clickCollectionView = {(param) ->()in
}
self.navigationController?.pushViewController(collectionVC, animated: true)`
本文介绍如何在Swift中使用闭包来替代Objective-C中的Block,通过一个具体的CollectionViewController的示例,展示了闭包的声明与使用方法。
1万+

被折叠的 条评论
为什么被折叠?



