[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.htmlhttps://code-examples.net/ko/q/2a52cd4
댓글
댓글 쓰기