class A {
func foo() -> ()->String {
func local() -> String { [weak self] in
return "foo \(self.i)"
}
return local
}
...
compares well with this...
class A {
func foo() -> ()->String {
let local : () -> String = { [weak self] in
return "foo \(self?.i)"
}
return local
}
func foo2() -> ()->String {
let local : () -> String = {
return "foo2 \(self.i)"
}
return local
}
let i : Int
init(_ i: Int) { self.i = i }
}
var a = A(2)
let b = a.foo()
a = A(4)
print(b()) // prints "foo nil"
let b2 = a.foo2()
a = A(6)
print(b2()) // prints "foo2 4"
--
C. Keith Ray
* https://leanpub.com/wepntk <- buy my book?
* http://www.thirdfoundationsw.com/keith_ray_resume_2014_long.pdf
* http://agilesolutionspace.blogspot.com/
> On Oct 25, 2017, at 1:21 PM, David Hart via swift-evolution
> <[email protected]> wrote:
>
> class A { func foo() { func local() -> Int { [weak self] in } } }
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution