我正在构建一个必须与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不能用于返回块的生成方法吗?