230519 Today I Learned (2)


@objc 키워드를 사용하는 이유?

처음 이 부분을 공부하게 된 계기는 버튼에 addTarget을 호출하고 버튼을 눌렸을 때 동작하는 함수를 만들어주는데 #selector에 넣어주어야 하는 함수는 @objc 키워드가 붙은 함수여야만 했습니다. 그래서 왜 그런지 궁굼해서 공부를 하게 되었습니다.


Overview

✅ '@objc' 키워드는 Swift 코드가 Objective-C 코드와 상호 작용하도록 하기 위한 것입니다. ✅ 이것은 Objective-C 런타임에 접근하거나 Objective-C 코드와 상호 작용하는 기능을 제공합니다.


'@objc'를 사용하는 주요 이유

  1. Objective-C와의 상호 운용성
  2. Objective-C 코드에서 Swift 메소드를 호출
  3. Objective-C API와의 상호 작용
  4. Selector 및 Key-Value Observing(KVO)

그러나 모든 Swift 기능이 Objective-C와 호환되지는 않습니다.

따라서 '@objc'는 Swift 기능이 Objective-C 런타임에 완전히 호환되도록 보장하는 것은 아닙니다.

기능에 따라서는 이 키워드를 사용할 수 없을 수 있습니다.