- This topic has 1개 답변, 2명 참여, and was last updated 4 years, 8 months 전에 by 야곰.
1 답변 글타래를 보이고 있습니다
-
글쓴이글
-
-
nobleidea참가자
- 글작성 : 5
- 답글작성 : 8
안녕하세요 고귀한생각을 가진 개발자 nobleidea입니다.
오랜만에… 개인프로젝트를 구현해보다가 궁금증이 생겨 이것저것 해보다 알게된 내용입니다.
클래스를 생성할 때 프로퍼티에 임의의 값을 할당하게 되면
프로퍼티 감시자를 통하여 일련의 로직을 수행하는 게 가능할까라는
의문점으로 구현해보았습니다.프로퍼티 감시자는 initializtion에서는 호출되지 않습니다.
(property observers didSet and willSet are not called during value initialization.)따라서 감시자가 호출될 수 있도록 함수를 만들거나
defer를 사용하여 감시자를 호출할 수 있습니다.또는 클로저를 이용하여 호출할 수 있습니다.(함수도 클로저의 일부분이니깐요..)
class SomeClass { var someProperty: AnyObject! { didSet { //do some Stuff } } init(someProperty: AnyObject) { setSomeProperty(someProperty) } func setSomeProperty(newValue:AnyObject) { self.someProperty = newValue } } class SomeClass { var someProperty: AnyObject! { didSet { //do some Stuff } } init(someProperty: AnyObject) { defer{ self.someProperty = someProperty } } }
2020-04-26 오후 10:05 #7238
-
-
글쓴이글
1 답변 글타래를 보이고 있습니다
- 답변은 로그인 후 가능합니다.