PromiseKit 分段错误:11

PromiseKit segmentation fault: 11

我正在尝试获得使用 PromiseKit 的基本承诺。但是以下代码无法编译:

import Foundation
import PromiseKit

class MyClass {
    var myInt: Int?

    func sample() -> Promise<AnyObject> {
        return Promise { fulfill, reject in
            fulfill(1)
        }.then { data -> Int in
            return 3
        }
    }

    init() {
        sample().then { data -> Void in
            debugPrint("got data: \(data)")
        }
    }
}

这是我得到的错误:

command failed due to signal: segmentation fault: 11

这真令人沮丧。有人遇到过吗?

这是因为 Int 不是 AnyObject

func sample() -> Promise<AnyObject> {
    return Promise { fulfill, reject in
        fulfill(1)
    }.then { data -> Int in
        return 3
    }
}

这很可能已在 Swift 3 中修复,但是其中任何一个都会修复编译:

func sample() -> Promise<Int> {
    return Promise { fulfill, reject in
        fulfill(1)
    }.then { data -> Int in
        return 3
    }
}

或者:

func sample() -> Promise<AnyObject> {
    return Promise { fulfill, reject in
        fulfill(1)
    }.then { data -> NSNumber in
        return 3
    }
}