2013-02-16 31 views
7

我一直在關注xamarin網站上提供的「Hello, iPhone」教程。我已經完成了所有步驟。現在,我運行該應用程序並單擊「Action 1」按鈕,我得到此錯誤單擊按鈕時出現NSInvalidArgumentException錯誤 - xamarin

拋出了Objective-C異常。名稱:NSInvalidArgumentException原因: - [HelloWorld_iPhoneViewController actionButtonClick:]:無法識別的選擇器發送到實例0xb3a5a30 enter image description here 我該如何解決這個問題?我使用

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 
    } 

我的代碼上傳到here

回答

9

如果你看一下按鈕的連接(在Xcode)的MonoDevelop + MonoTouch的最新版本中,你會看到你已經添加2個行動到按鈕 - 一個叫做actionButtonClick,另一個叫做actnButtonClick。

在控制器中,MonoTouch似乎只爲第二個操作添加了部分方法,而第二個操作不是崩潰的操作。

我刪除了名爲actionButtonClick的動作(離開actnButtonClick)並運行你的示例運行良好。

4

在Jonathan Peppers的「Xamarin跨平臺應用程序開發」一書中,我用他的「Hello Phone」例子遇到了同樣的「非常新」問題。

這是我所做的修復它。

首先,我切換到Xamarin Studio中, 點擊了MainStoryboard.storyboard文件或選項卡(顯示在手機佈局), 下部點擊「按鈕」佈局中,以顯示其「屬性」右窗。

然後我選擇「屬性」窗口中(從顯示「小部件」,「佈局」按鈕,「活動」,「活動」。

最後,被稱爲「的內心」的項目下出現了一個小「x」可用於刪除那裏列出的事件處理程序 - 我記得它被命名爲button_TouchUpInside(或類似的東西)。

示例代碼(本書的第25頁)正在添加一個事件處理程序按鈕,所以這個處理程序是一個額外的(未寫入的)處理程序,並刪除對它的引用使得這個示例工作正常。

+0

非常感謝。這對我有效 – WPFKK 2017-01-20 01:27:16

0

只需打開s toryboard文件與源代碼編輯器,並刪除任何你不想列在按鈕下的連接。

<button ...> 
    . 
    . 
    . 

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

</button> 
相關問題