从Swift中的func计算hashValue

时间:2017-04-20 10:42:36

标签: swift function hash

我想在类中发送一个方法地址,允许该类调用该方法。我希望这个类是Hashable,我希望从方法计算hashValue,使得指向同一方法的2个对象具有相同的hashValue。

这是尝试计算hashValue的类init,但它失败了。我认为它散列了一个指向局部变量的指针。

typealias functionAlias = ((Double) -> ())?

class FunctionPointer: Hashable {
private let functionPointer: functionAlias
private let hash: Int

init( functionPointer: functionAlias ) {
    self.functionPointer = functionPointer
    var f = functionPointer
    var h = 0
    withUnsafePointer(to: &f, {
        ptr in
        h = ptr.hashValue
    })
    self.hash = h
    print("self.hash = \(self.hash)")
}

}

由于

0 个答案:

没有答案