1. ホーム
  2. ios

[解決済み] Swiftで@objcはいつ使うのか?

2023-01-10 09:02:02

質問

Swiftでは、以下のようなメソッドを見かけます。

@objc private func doubleTapGestureRecognized(recognizer: UITapGestureRecognizer)

疑問に思ったのですが、@objcはいつ使えばいいのでしょうか?いくつかのドキュメントを読みましたが、Objective-Cで呼び出し可能にしたい場合は、@objcフラグを追加する必要があるとのことです。

しかし、これはSwiftのプライベート関数で、@objは何をするのでしょうか?

どのように解決するのですか?

privateはSwiftでのみ表示されることを意味します。 Objective-Cでは@objcで表示されます。 Swiftでprivateなfuncを選択するfuncがあれば、それが必要です。

objc属性は、Objective-CとObjective-CランタイムであなたのSwift APIを利用できるようにします。

参照してください。 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithObjective-CAPIs.html