일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- native개발
- ios
- lazy 위험성
- git branch strategy
- lazy 사용
- developer
- Xcode
- lifecycle
- 적절한 사용방법
- TabBarItems
- WWDC21
- frame이해
- ios login
- Your app is missing support for the following URL schemes: your_ios_client_id
- 보라색오류
- xml delegate
- Explict Identity
- view
- schemes
- Lazy
- Lifetime of SwiftUI
- Demystify SwiftUI
- consuming a restful web service
- bounds이해
- Identity
- Quick Help
- Spring
- Structural Identity
- spring guide
- swift
- Today
- Total
목록Lazy (2)
Dev_Dylan

공식문서에서 Lazy Property 위험하다는 주석이 달려있다. Note lazy 수식어가 표시된 프로퍼티는 여러 스레드에서 동시에 접근되고 프로퍼티가 아직 초기화되지 않은 경우 프로퍼티가 한 번만 초기화된다는 보장이 없습니다. 그래서 보장이 안되는 경우가 언제인가? 언제 두번이상 초기화 되고 이상하게 쓰일까? 왜 쓰면 안되는데?? 의문을 품고, 여러 스레드에서 동시에 접근될 때 정말 초기화가 잘 이루어지지 않는지 코드로 구현해 보았다. import Foundation class Example { lazy var myLazyProperty: String = { print("Initializing lazy property") return "Hello, Lazy! : \\(Int.random(in: 1....

ViewController에 버튼을 추가해서 배열에 담기 최초 StoryBoard 에서도 혹은, 코드로 UIButton을 선언해도 같은 오류가 난다. Cannot use instance member 'button' within property initializer; property initializers run before 'self' is available 오류 코드에 보면 [인스턴스 맴버인 버튼을 초기화 없이 사용 할 수 없다] 라고 나온다. Lazy 키워드로 해결 buttons 배열에 lazy를 사용해서 ERROR를 해결한다. lazy키워드를 이용해 동시에 호출되는 것을 방지한다. 즉, 각각의 button1,button2,button3 와 이를 포함하는 [buttons] 배열을 동시에 호출되지 않도..