If I understand correctly, you want to be able to modify myDict from within MyClass, but not from outside it. In that case, you’re looking for private(set).
class MyClass { private(set) var myDict = [String : String]() } -BJ > On Dec 12, 2017, at 12:34 AM, 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]() > } > > > I want above variable to be constant and if I make it like below > > class MyClass { > let myDict = [String : String]() > } > > Then I cann't add key/value in the myDict like > > self.myDict["name"] = "Rathore" > > > I know swift and couldn't find anything related to this. > > Can anybody help me? > > > If there is no such method of doing it then I would suggest to either use a > syntax like > > class MyClass { > const var myDict = [String : String]() > } > > I'm not using final here since that make a var not overridable. > > > > -- > Best regards, > Inder Kumar Rathore > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution