programmer '프로그래머'
@objc 정의
김동준.
2024. 7. 25. 21:36
@objc는 Swift 프로그래밍 언어에서 사용되는 특수한 속성(Attribute)입니다. 이 속성은 Swift 코드와 Objective-C 코드를 상호 운용 가능하게 만들어줍니다.
@objc는 Swift 프로그래밍 언어에서 사용되는 고유한 속성(property)입니다. 이 속성은 Swift 코드와 Objective-C 코드의 기능을 더욱 향상시킵니다. 주로 다음과 같은 상황에서 사용됩니다
Objective-C에서 Swift 클래스를 사용하는 경우: Swift 클래스를 Objective-C 코드에서 인식하고 사용할 수 있도록 하려면 @objc 특성을 사용하세요.
Dynamic Dispatch : @objc 속성은 동적 디스패치로 Swift 메서드를 호출하려고 할 때 사용됩니다. 이는 런타임에 메서드를 호출하여 Objective-C의 런타임 기능을 활용합니다.
클래스와 메서드에 @objc 속성 사용
import Foundation
@objc class MyClass: NSObject {}
@objc Members
import Foundation
@objcMembers class MyClass: NSObject {}
Selector 사용 예시
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
위의 예에서 @objc 속성을 사용하여 ButtonTapped 메서드를 선택기로 지정할 수 있습니다.
@objc는 Swift와 Objective-C 간의 상호 운용성을 향상시키고 Swift 코드가 Objective-C의 런타임 기능을 활용할 수 있도록 하는 중요한 도구입니다.