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 <jgr...@apple.com> wrote:

>
>
> > On Dec 11, 2017, at 11:34 PM, Inder Kumar Rathore . via swift-evolution <
> swift-evolution@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
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to