Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] weak var 사용방법 ('weak' must not be applied to non-class-bound) 본문

iOS 기본 (swift)

[iOS - swift] weak var 사용방법 ('weak' must not be applied to non-class-bound)

jake-kim 2021. 4. 29. 23:28

weak var 프로퍼티

  • retain cycle을 방지하기 위해서 weak var사용
  • weak var는 보통 delegate와 같이 delegate 객체가 사라지면 ARC에서 자동으로 nil을 할당할수 있도록 메모리 관리에 사용

weak var 타입

  • weak var를 사용하려는 타입이 만약 protocol일 경우, AnyObject를 상속받지 않으면 오류 발생
    • 'weak' must not be applied to non-class-bound
  • 프로토콜은 클래스와 구조체, 열거형에 사용되는데, 프로토콜이 어디에 사용될지 모르니 reference count 관리를 위해 사용되는 unowned weak 키워드 사용 불가
  • protocol에 AnyObject를 상속받아서 사용하면, 클래스임 정의하기 때문에 weak 키워드 사용 가능
Comments