[swift] Swift에 있는 Objective-C 속성의 사용
이제는 Swift를 사용하는 iOS 및 macOS 앱을 개발하는 것이 흔해졌습니다. 그런데 Objective-C로 작성된 라이브러리를 사용할 때, Objective-C 속성을 Swift에서 어떻게 사용할 수 있을까요?
Objective-C 속성이란?
Objective-C 속성은 @property
키워드로 정의되며, 해당 클래스의 인스턴스 변수에 접근하기 위한 방법을 제공합니다. 주로 nonatomic
, atomic
, readonly
, readwrite
등의 특성을 지정하여 객체의 동작을 정의합니다.
Swift에서 사용하기
Swift에서 Objective-C 속성을 사용하려면 @objc
키워드를 사용하여 해당 속성을 노출시켜야 합니다.
class MySwiftClass: NSObject {
@objc var myProperty: String = "Hello"
}
위의 예제에서 @objc
키워드를 사용하여 myProperty
를 Objective-C 호환 속성으로 노출시켰습니다. 이제 Objective-C 코드에서 이를 참조할 수 있게 되었습니다.
Objective-C 속성의 사용
Objective-C에서는 Swift 클래스의 Objective-C 속성을 직접 참조할 수 있습니다.
MySwiftClass *myObject = [[MySwiftClass alloc] init];
NSLog(@"Value of myProperty: %@", myObject.myProperty);
위의 예제에서는 myProperty
를 Objective-C에서 정상적으로 참조하는 방법을 보여주고 있습니다.
결론
Swift에서 Objective-C 속성을 사용하려면 @objc
키워드를 사용하여 노출시켜야 합니다. 그렇게 하면 Swift와 Objective-C 간의 상호 운용성을 확보할 수 있습니다.
참조: Using Swift with Cocoa and Objective-C (Swift 5.5) - Apple Developer Documentation