我正试图得到一个与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这很令人沮丧。有人遇到过这种情况吗?
发布于 2016-08-04 18:54:20
这是因为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
}
}https://stackoverflow.com/questions/37178115
复制相似问题