Skip to content

Instantly share code, notes, and snippets.

@diegosanchezr
Created October 21, 2015 14:08
Show Gist options
  • Save diegosanchezr/29979d22c995b4180830 to your computer and use it in GitHub Desktop.
Save diegosanchezr/29979d22c995b4180830 to your computer and use it in GitHub Desktop.
Infinite loop didSet
protocol AProtocol {
var someString: String { get }
}
class A: AProtocol {
var someString: String
init() {
someString = "A"
}
}
class B {
var myProperty: AProtocol! {
didSet {
self.doSomething()
}
}
func doSomething() {
NSLog(self.myProperty.someString)
}
}
let myB = B()
myB.myProperty = A() // infinite recursion
protocol AProtocol: class {
var someString: String { get }
}
class A: AProtocol {
var someString: String
init() {
someString = "A"
}
}
class B {
var myProperty: AProtocol! {
didSet {
self.doSomething()
}
}
func doSomething() {
NSLog(self.myProperty.someString)
}
}
let myB = B()
myB.myProperty = A() // now it works
@PhilipDing
Copy link

Why there is no issue like infinite loop in didSet in my code?
My Xcode version is Version 7.2 (7C68)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment