2013-02-16 15 views
7

Ho seguito il tutorial "Hello, iPhone" disponibile nel sito Web xamarin. Ho completato tutti i passaggi ora. Ora eseguo l'applicazione e faccio clic sul pulsante "Azione 1". Ricevo questo erroreErrore NSInvalidArgumentException nel clic del pulsante - xamarin

Eccezione di eccezione C obiettivo. Nome: NSInvalidArgumentException Motivo: - [HelloWorld_iPhoneViewController actionButtonClick:]: selettore non riconosciuto inviato all'istanza 0xb3a5a30 enter image description here Come posso risolvere questo problema? Sto usando le ultime versioni di 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 
    } 

mio codice caricato a here

risposta

9

Se si guardano le connessioni per il pulsante (in Xcode) vedrai che hai aggiunto 2 azioni al pulsante: uno chiamato actionButtonClick e uno chiamato actnButtonClick.

Nel controller, MonoTouch sembra aver aggiunto solo un metodo parziale per la seconda azione che non è quella che si blocca.

Ho eliminato l'azione denominata actionButtonClick (lasciando actnButtonClick) e ho eseguito il campione che è andato bene.

4

Nel libro "Xamarin Cross-platform Application Development" di Jonathan Peppers mi sono imbattuto nello stesso "molto nuovo" problema con il suo esempio "Hello Phone".

Questo è quello che ho fatto per risolverlo.

In primo luogo, sono passato in Xamarin Studio, cliccato sul file MainStoryboard.storyboard o scheda (per mostrare il layout di telefono), cliccato sul pulsante "" all'interno del layout, per visualizzarne le "Proprietà" in basso finestra giusta

Poi ho selezionato "Eventi" nella finestra "Proprietà" (dai tasti che mostrano "Widget", "Layout", "Eventi".

Infine, sotto la voce denominata "Inside" c'è stata una piccola "x" disponibile per cancellare il gestore di eventi che era elencato lì - che ricordo era chiamato button_TouchUpInside (o qualcosa del genere)

Il codice di esempio (pagina 25 del libro) aggiunge un gestore di eventi per il pulsante, quindi questo altro gestore è un altro (non scritto?), e la rimozione del riferimento ad esso ha reso l'esempio funzionante.

+0

Grazie mille. Questo ha funzionato per me – WPFKK

0

Basta aprire la s file toryboard con l'editor del codice sorgente e rimuovere qualsiasi connessione che non si desidera elencata sotto il pulsante.

<button ...> 
    . 
    . 
    . 

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

</button> 
Problemi correlati