您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页Swift4:func

Swift4:func

来源:二三四教育网

callback的运用

struct里的运用
class FinishAlertView{
    var buttonPressed : ((Int) -> Void)?
    func getNextPress(){
        buttonPressed?(2)
    }
}

struct PressCounter{
    var count = 0
    mutating func buttonPressed(at Index : Int){
        count += Index
    }
}

let finish = FinishAlertView()
var counter = PressCounter()
finish.buttonPressed = {counter.buttonPressed(at : $0)}

finish.getNextPress()
finish.getNextPress()
finish.getNextPress()
finish.getNextPress()
finish.getNextPress()
counter.count  // 10
callback在class里的运用
class FinishAlertView{
    var buttonPressed : ((Int) -> Void)?
    func getNextPress(){
        buttonPressed?(2)
    }
}
class PressCounterClass {
    var count = 0
    func buttonPressed(at Index : Int){
        count += Index
    }
}
let finish = FinishAlertView()
var counterClass = PressCounterClass()
finish.buttonPressed = {[weak counterClass] index in // 防止循环引用
    counterClass?.buttonPressed(at: index)
}
finish.getNextPress()
finish.getNextPress()
finish.getNextPress()
finish.getNextPress()
finish.getNextPress()
counterClass.count // 10

Closure Expressions和Closure

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务