8

xamarin Webサイトで入手できる「Hello、iPhone 」チュートリアルをフォローしています。これですべての手順が完了しました。ここで、アプリケーションを実行し、[アクション1]ボタンをクリックします。このエラーが発生します

Objective-Cの例外がスローされました。名前:NSInvalidArgumentException理由:-[HelloWorld_iPhoneViewController actionButtonClick:]:認識されないセレクターがインスタンス0xb3a5a30に送信されました ここに画像の説明を入力してください この問題を修正するにはどうすればよいですか?最新バージョンのMonoDevelop+MonoTouchを使用しています

static void Main (string[] args)
    {
        // if you want to use a different Application Delegate class from "AppDelegate"
        // you can specify it here.
        UIApplication.Main (args, null, "AppDelegate"); <-- HERE
    }

ここにアップロードされた私のコード

4

3 に答える 3

9

ボタンの接続を(Xcodeで)見ると、ボタンに2つのアクションが追加されていることがわかります。1つはactionButtonClickと呼ばれ、もう1つはactnButtonClickと呼ばれます。

コントローラでは、MonoTouchは、クラッシュしているアクションではない2番目のアクションの部分的なメソッドのみを追加したように見えます。

actionButtonClick(actnButtonClickを残す)というアクションを削除し、正常に実行されたサンプルを実行しました。

于 2013-02-16T22:14:24.623 に答える
6

JonathanPeppersによる「XamarinCross-platformApplicationDevelopment」の本で、私は彼の「HelloPhone」の例で同じ「非常に新しい」問題に遭遇しました。

これは私がそれを修正するためにしたことです。

まず、Xamarin Studioに切り替え、MainStoryboard.storyboardファイルまたはタブ(電話のレイアウトを表示)をクリックし、レイアウト内の[ボタン]をクリックして、右下のウィンドウに[プロパティ]を表示しました。

次に、[プロパティ]ウィンドウ内の[イベント]を選択しました([ウィジェット]、[レイアウト]、[イベント]を表示しているボタンから]。

最後に、「Up Inside」というアイテムの下に、そこにリストされているイベントハンドラーを削除するために使用できる小さな「x」がありました。これはbutton_TouchUpInside(またはそのようなもの)という名前でした。

サンプルコード(本の25ページ)では、ボタンのイベントハンドラーが追加されているため、この他のハンドラーは余分な(書き込まれていない?)ハンドラーであり、このハンドラーへの参照を削除すると、サンプルが正常に機能します。

于 2014-06-18T16:47:44.703 に答える
0

ソースコードエディタでストーリーボードファイルを開き、ボタンの下に表示したくない接続をすべて削除します。

<button ...>
  .
  .
  .

   <connections>
         <!-- remove any connections here that you don't want -->             
   </connections>

</button>
于 2015-03-09T08:23:55.300 に答える