[swift-evolution] constant var

Inder Kumar Rathore . rathore619 at gmail.com
Thu Dec 14 02:51:49 CST 2017


class MyClass {

  private var myDict = [String : String]()



  func addMemebr() {

    self.myDict["key"] = "value" // Ok for me

  }



  func anotherFunc() {

    self.myDict = [String : String]() // Not okay for me, I don't want any
code to do this within the class

  }

}

On Tue, Dec 12, 2017 at 10:28 PM, Joe Groff <jgroff at apple.com> wrote:

>
>
> > On Dec 11, 2017, at 11:34 PM, Inder Kumar Rathore . via swift-evolution <
> swift-evolution at swift.org> wrote:
> >
> > Hi All,
> > Today I was writing code and faced a situation where I need to make a
> instance variable a const i.e. it shouldn't accept new values from anywhere
> but the problem is that I want it's content to be mutable.
> >
> > e.g.
> >
> > class MyClass {
> >   var myDict = [String : String]()
> > }
>
> You can do this by making the setter private:
>
> class MyClass {
>   private(set) var myDict = [String: String]()
> }
>
> This will allow declarations inside the MyClass definition to modify
> myDict, but not code outside the class definition.
>
> -Joe
>
>


-- 
Best regards,
Inder Kumar Rathore
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171214/7eebc258/attachment.html>


More information about the swift-evolution mailing list