【发布时间】:2015-09-24 23:19:30
【问题描述】:
这是我的代码:
import Cocoa
class VC1: NSViewController {
let aFunctionVar ()->Void
}
然而编译器告诉我:“类 VC1 没有初始化器”
根据 Apple Swift iBook 中的 swift 示例,他们的示例如下:
var mathFunction: (Int, Int) -> Int = addTwoInts
但就我而言,我正在尝试创建一个属性变量。目前还不知道变量是什么,所以我不能在那里设置它。有什么帮助吗?
编辑 - 当涉及到简单的字符串/数组/字典类型等时,我已经知道如何使变量成为可选和惰性的。但这是一个函数类型的属性变量。它旨在保存()->Void 类型的函数。关于如何做到这一点的任何帮助?
在 ObjectiveC 中,这可以通过创建如下的块属性来完成:
@property (nonatomic, copy) void (^aFunctionVar)();
【问题讨论】:
-
使其成为可选变量。
-
如何使它成为可选变量?在末尾添加
?会给我同样的错误 -
你试过
( ( )->Void )?吗? -
除了“?”之外,您是否还使用了“var”关键字? ?
-
-____- 谢谢大家.. 我认为添加一个问号(不带括号)使其成为可选
标签: objective-c swift closures objective-c-blocks