返回块的Objective-C方法在Swift中不可用

时间:2017-03-15 19:31:12

标签: ios objective-c swift swift3 objective-c-blocks

我正在构建一个必须与Swift兼容的Objective-C库,并且我遇到了几个返回Objective-C块在Swift中不可用的方法的问题,即使该接口是在Swift中生成的。 / p>

出现此问题的方法示例如下:

+ (SDLLogFilterBlock)filterByDisallowingString:(NSString *)string caseSensitive:(BOOL)caseSensitive;

在Swift中生成:

open class func filter(byDisallowingString string: String, caseSensitive: Bool) -> __ObjC.SDLLogFilterBlock

SDLLogFilterBlock定义为:

typedef BOOL (^SDLLogFilterBlock)(SDLLogModel *log);

在Swift中生成:

public typealias SDLLogFilterBlock = (SDLLogModel) -> Bool

但是,当我尝试在Swift中使用SDLLogFilter类时,没有像这样的任何方法出现自动完成,并尝试手动写出来告诉我该方法不存在。

Swift 3不能用于返回块的生成方法吗?

0 个答案:

没有答案