我试图声明一个与以下Objective-C块匹配的闭包:
typedef void(^TyphoonDefinitionBlock)(TyphoonDefinition *definition);
Run Code Online (Sandbox Code Playgroud)
像这样:
var config: TyphoonDefinitionBlock = { (definition: TyphoonDefinition) in
definition.injectProperty("quest", with: nil)
}
Run Code Online (Sandbox Code Playgroud)
...并得到以下错误.(见图).

这样做的正确方法是什么?
您需要声明definition为ImplicitlyUnwrappedOptional(TyphoonDefinition!),因为在objective-C中它是一个可以为nil的指针.
swift中的正常变量(和常量)不能为零.它们必须包含值.
| 归档时间: |
|
| 查看次数: |
4073 次 |
| 最近记录: |