0

Xcode 7.1 と iOS 9.1 ベータ版を使用しています。Xcode 6.2 から作業コードをインポートしましたが、「メソッドはそのスーパークラスのメソッドをオーバーライドしません」というエラー メッセージが表示されます。

最新の迅速な構文の問題ではありません。私はすでに次の条件を除外しています。

  1. Swift 2.0 用に構文が更新されました。
      override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?)
    
  2. Xcode で書き換えると、構文は xcode 自体によって提案されます。
  3. 最も重要なことは、新しいテスト プロジェクトを作成して touchesBegan をオーバーライドしようとすると、この問題が発生しないことです。問題は、インポートされたコードのみです。
  4. UIViewController サブクラスでこのメソッドをオーバーライドしています。
  5. 同じ問題は Xcode 7 beta 6 でも再現可能です

インポートされたコードのベータ版のバグか、構成に問題があるようです。どんな提案でも大歓迎です。助けてくれてありがとう。

4

5 に答える 5

1

コードをインポートした場合、別のプロジェクトにリンクしようとしている可能性があります。コードを TextEdit に貼り付けてから再度コピーすると、コードのリンクが壊れます。

Xcode を最新バージョンに更新することもできます。

それを試してみて、それがどうなるか教えてください。

于 2016-02-26T13:33:24.533 に答える
0

確認すべきことの 1 つは、プログラムによって、またはそのストーリーボード ViewController 内のビューにジェスチャをビューに追加したかどうかです。そのジェスチャでストーリーボードで「ビュー内のタッチをキャンセル」が選択されている場合、またはプログラムでそれを true に設定すると、「タッチ」オーバーライドが呼び出されないようにすることができます。

于 2016-05-06T02:04:48.473 に答える