我已经定义了这样一个类:
type
如果我从该方法声明一个闭包,则该方法显示为删除
internal class C {
internal func method() -> Void {
print("method called")
}
}
如果我在autocasting paranthesis let closure = C.init().meth
let closure2 = C.meth
\(...)
答案 0 :(得分:10)
由于您的函数method()
没有返回任何内容,因此发生了删除。您尝试完成的上下文(赋值和插值)都期望值,因此不建议在那里返回Void
的方法。
如果您尝试分配系统函数的结果,则会看到相同的删除线,例如如果你这样做:
var arr = [1,2,3]
arr.append(4) // no strikethrough
let result = arr.append(5) // you will see strikethough on 'append'