Swift 2.0 beta: are protocols kinda broken in Xcode beta 5? -
currently i'm working on new app written swift 2.0. today faced 2 strange errors in xcode beta 5. i'd love if previous beta version of xcode can confirm if i'm right or not. misunderstand something, i'll appreciate feedback.
here example code made me struggle while:
// frist bug protocol someprotocol { var somearray: [string] { set } // #1 bug } extension someprotocol { func somefunction(somestring: string) { self.somearray.append(somestring) // #1: immutable value of type '[string]' has mutating members named 'append' } } // second bug protocol someinterfaceprotocol { var somebool: bool { set } // #2 bug } class someclass: someinterfaceprotocol { var somebool: bool = false func returninterface() -> someinterfaceprotocol { return self } } let someinstance = someclass() // can't set value someinstance.returninterface().somebool = true // #2: cannot assign property: function call returns immutable value
the first error can solved if add modifier mutating before extension func declaration this:
mutating func somefunction(somestring: string) { i suspect that's change in language.
the other 1 puzzles me well. @ least, here's work-around:
var c = someinstance.returninterface() c.somebool = true
Comments
Post a Comment