[iOS] @objc vs @objcMembers 알아보기

  @objc vs @objcMembers 알아보기


  간략정보

@objc : 각각의 변수, 함수 등에 적용하여 ObjectiveC의 접근을 가능하게 해준다.
@objcMembers : Class의 적용되며 Class 내 함수, 변수 등 ObjectiveC에서 접근을 가능하게 해준다. (Swift 4이상)

Swift 문서를 읽어보고, 구글번역을 도움받아 직역한 내용
@objcMembers속성은 Objective-C 런타임의 내부 검사 기능을 많이 사용하는 라이브러리에 편리합니다. @objc 필요하지 않은 속성을 적용하면 이진 크기가 커지고 성능에 부정적인 영향을 줄 수 있습니다.

Swift 3 -> Swift 4 이상으로 넘어가면서 @objc 를 추천하지 않으며, @objcMembers 를 권장한다고 한다. 내부적으로 @objc를 선언하면 응용프로그램의 바이너리가 증가한다고 한다.

앞으로 @objcMembers로 사용하면 된다.

  실제 적용 차이점

Swift 파일


objective C 파일



  참조

https://docs.swift.org/swift-book/ReferenceManual/Attributes.html
https://code-examples.net/ko/q/2a52cd4

댓글

이 블로그의 인기 게시물

[iOS] 앱 아이콘 동적으로 변경하기 (Dynamically Change App icon)

[iOS18 Beta] WkWebView Cookies 못 가져오는 현상 (SameSite default Lax 변경)

[iOS] 앱스토어 등록 전, 후 URL 알아보기

[iOS] 앱실행, 앱미실행시 특정 Notification 삭제

[Xcode] add Simulators (시뮬레이터 추가하기)