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
> <[email protected]> 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
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution