- This topic has 1개 답변, 2명 참여, and was last updated 1 month 전에 by
야곰.
1 답변 글타래를 보이고 있습니다
-
글쓴이글
-
-
mi kim참가자
- 글작성 : 10
- 답글작성 : 8
1,850 포인트
class Test { var arr = [false, true, true, false, true, false, false] { willSet(new) { print("before: (arr)") } didSet(old) { print("now: (arr)") self.arr.sort{ $0 == false && $1 == true } // 값 갱신마다 false를 앞으로 전부 나오게 정렬 // 예: // false, true, true, false, true, false, false // false, false, false, false, true, true, true print("sorted: (arr)") } } } let test = Test() // 생성 test.arr.append(true) // #1 새로운 값을 추가 print(test.arr) // #2 arr에 값 접근 <-- 질문 위치
위 코드처럼, 프로퍼티 옵저버의 didSet 메서드에 정렬 기능을 구현했습니다.
그리고 print(test.arr)로 그 프로퍼티 옵저버의 값을 참조하고 있습니다.
여기서 질문입니다.
- 만약 데이터가 커서 정렬 수행이 오래걸리게 된다면, didSet직후 참조하게 된다면 오류가 발생하지 않을까요?
- 프로퍼티 옵저버는 해당 didSet, willSet이 끝날까지 외부에서의 참조가 미루어지는 동기구조인가요?
-
이 게시글은
mi kim에 의해 1 month 전에 수정됐습니다.
-
이 게시글은
mi kim에 의해 1 month 전에 수정됐습니다.
-
이 게시글은
mi kim에 의해 1 month 전에 수정됐습니다.
-
이 게시글은
mi kim에 의해 1 month 전에 수정됐습니다.
-
이 게시글은
mi kim에 의해 1 month 전에 수정됐습니다.
02021-02-01 오후 7:32 #40524
-
-
글쓴이글
1 답변 글타래를 보이고 있습니다
- 답변은 로그인 후 가능합니다.