第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你如何測試函數(shù)和閉包是否相等?

你如何測試函數(shù)和閉包是否相等?

書中說“功能和閉包是參考類型”。那么,你怎么知道引用是否相等?==和===不起作用。func a() { }let ? = alet b = ? === ? // Could not find an overload for === that accepts the supplied arguments以下是Catterwauls如何處理這個問題:MultiClosures和Equatable Closures你如何測試函數(shù)和閉包是否相等?
查看完整描述

3 回答

?
揚帆大魚

TA貢獻(xiàn)1799條經(jīng)驗 獲得超9個贊

最簡單的方法是將塊類型指定為@objc_block,現(xiàn)在可以將其轉(zhuǎn)換為與之類似的AnyObject ===。例:

    typealias Ftype = @objc_block (s:String) -> ()

    let f : Ftype = {
        ss in
        println(ss)
    }
    let ff : Ftype = {
        sss in
        println(sss)
    }
    let obj1 = unsafeBitCast(f, AnyObject.self)
    let obj2 = unsafeBitCast(ff, AnyObject.self)
    let obj3 = unsafeBitCast(f, AnyObject.self)

    println(obj1 === obj2) // false    
    println(obj1 === obj3) // true


查看完整回答
反對 回復(fù) 2019-08-27
?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗 獲得超9個贊

我搜索了很多。似乎沒有辦法比較函數(shù)指針。我得到的最好的解決方案是將函數(shù)或閉包封裝在一個可散列的對象中。喜歡:

var handler:Handler = Handler(callback: { (message:String) in
            //handler body}))


查看完整回答
反對 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 564 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號