2

Swift 2.3inを使用してボタンのメソッドを作成しましたXcode 8。まあ言ってみれば

 @IBAction func testAction(sender: UIButton) {
     print("\(sender.tag)");
 }

しかし、Connections inspectorストーリーボードエディターでは として表示されますtestActionWithSender:。これは正しいメソッド名ではないことはわかっていますが、クラッシュするまで問題はありません

[TestProject.ViewController testActionWithSender:]: 認識されないセレクターがインスタンス 0x7ff3f3e050e0 に送信されました

ボタンタップで。

では、なぜメソッド名が変更されConnections inspector、どのように修正すればよいのでしょうか?

4

2 に答える 2

3

この回避策を使用すると、既存のアクションを追加でき、複数のボタンを 1 つのアクションに接続することもできます。

Xcode8にバグがあると思います。senderに変更することにより、単一のアクション/機能に複数/単一のボタンを追加できます_ sender

例:- 通常ボタン

   @IBAction func huu(sender: UIButton) {

   }

このアクションに複数のボタンまたは単一のボタンを追加することはできません。このように単純に変更する必要があります。その後、ストーリーボードからドラッグして接続することで複数のボタンを追加できます。

 @IBAction func huu(_ sender: UIButton) {

 }

IBOutlets を接続した後、Xcode は次のような警告を表示します:-

ここに画像の説明を入力

この警告を削除する_には、アクション/関数から記号を削除します。_IBOutlets を接続した後に必ず削除してください

これがあなたを助けることを願っています!:)

于 2016-09-21T12:12:33.993 に答える
1

私は同じ問題に直面しました。私が見つけた唯一の回避策は、接続を削除し、ボタン アクションを新しいアクション メソッドにドラッグすることです。

ボタンを既存のボタンにリンクすると、クラッシュします

于 2016-09-21T08:37:29.417 に答える