[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