4

Objective C で作成された以前のアプリの 1 つに取り組んでいました。それに新しいモジュールを追加する必要があり、その特定のモジュールに Swift を使用することにしました。

私は Objective C で呼び出されたクラスを持っています。いくつかの新しい とHomePageを追加したかったのです。そのために、新しい Swift ファイルを追加し、既存のクラスを次のように拡張しました。IBActionIBOutlet

// MARK: IBOutlets and IBActions
extension HomePage
{
    @IBOutlet var image : UIImageView!
    ...

    /*!
    * Loads the application support webpage
    */
    @IBAction func loadSupportURL(sender : UIButton)
    {
    }
    ...
}

IBActions のみを追加すると、すべてが完全に機能します。しかし、IBOutlet を追加すると、コンパイラは次のようなエラーをスローします。

拡張機能には保存されたプロパティが含まれていない可能性があります

それを修正するには、2つの方法があります。

  1. Objective C クラス自体でアウトレットを宣言する
  2. Objective C クラス全体を Swift に変換し、そこでプロパティを宣言します

この問題を解決する他の方法はありますか?

4

1 に答える 1