Swift中Block的使用


在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)`