Ugliness is preferable to the alternative of impossibility because what you are 
trying to do and the semantics of the type you are trying to do it with are 
irreconcilably and mutually exclusive.

> On Dec 12, 2017, at 12:00 AM, Inder Kumar Rathore . via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Nice idea but I think the code will look ugly
> 
> On Tue, Dec 12, 2017 at 1:28 PM, Rafael Guerreiro <guerreiro....@gmail.com 
> <mailto:guerreiro....@gmail.com>> wrote:
> You actually need a class to wrap the dictionary.
> That’s because dictionaries are struct, with copy-on-write.
> 
> With a class, you’ll be able to have it mutable, in a let declaration.
> On Mon, Dec 11, 2017 at 11:34 PM Inder Kumar Rathore . via swift-evolution 
> <swift-evolution@swift.org <mailto: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 <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 
> 
> -- 
> Best regards,
> Inder Kumar Rathore
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to