[swift-evolution] Computed properties: get and set using shorthand notation?

Chris Liscio chris at supermegaultragroovy.com
Wed Feb 3 16:00:36 CST 2016

Why can’t we use shorthand argument names and implicit returns when specifying the get and set blocks in a computed property? I.e., Why must we refer to newValue in the implementation of set, and not $0 like we do in closures? Also, why do we need ‘return’?

Once you get used to the shorthand, you kinda want to use it all over…

This question came up recently when I was writing a façade for another class, and would have liked to written something like the following:

class Façade {
  private var _wrapped: Something

  var wrappedProperty: Int {
    get { _wrapped.property }
    set { _wrapped.property = $0 }

  var multipliedProperty: Int { _wrapped.property * 42 }

I apologize if this has already been discussed/requested before. I searched the archives and didn’t turn up anything that referred to this specifically.


Chris Liscio
http://supermegaultragroovy.com <http://supermegaultragroovy.com/>
Learn _your_ music with Capo: http://capoapp.com <http://capoapp.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160203/b92e72cb/attachment.html>

More information about the swift-evolution mailing list