【发布时间】:2015-07-05 16:39:44
【问题描述】:
将 PromiseKit 2.0 与 Swift 1.2 结合使用,我正在尝试使用在 Swift 的 Objective C 中创建的 PMKPromise。
目标 C 代码:
@interface FooTest : NSObject
+ (PMKPromise *)promise;
@end
Swift 代码(我尝试了多种变体,但都不起作用。这个最接近http://promisekit.org/PromiseKit-2.0-Released/ 给出的示例):
FooTest.promise().then { (obj: AnyObject?) in
self.obj = obj
}
编译器错误:无法使用类型为“((AnyObject?) -> _)”的参数列表调用“then”
这也不起作用:
FooTest.promise().then { (obj: AnyObject?) -> AnyPromise in
return AnyPromise()
}
类似错误:“无法使用类型为 '((AnyObject?) -> AnyPromise)' 的参数列表调用 'then'”
【问题讨论】:
-
嗯,好吧,但我很确定这并不像只知道声明那么简单,因为还有#defines 和其他桥接魔术。
- (AnyPromise *(^)(id))then; -
好吧,我让你失望了。 :( 对不起。
-
您是否创建了桥接头?
-
@Steve 是的,有一个桥接头
标签: objective-c swift promisekit