【发布时间】:2018-08-17 03:36:11
【问题描述】:
问题是以下编译器错误:
“实例成员 'name' 不能用于类型 'Person'”
class Person {
var name: String = "Amir"
var myClosure = { (family: String) -> Void in
print(name + " " + family)
}
func myFunc(family: String) -> Void {
print(name + " " + family)
}
}
myFunc 和 myClosure 里面的代码是一样的,但是我在 myClosure 定义上有编译错误。 据我所知,基本上闭包和函数是相同的。那么它们之间有什么区别使得上述闭包的限制呢?
【问题讨论】:
-
如果我使用 self.name,编译器会说“使用未解析的标识符 'self'”
标签: swift function class closures