Déconcerté par ce qu'il faut faire pour corriger ces erreurs (iOS) … des suggestions?

Je suis complètement nouveau à iOS dev et en utilisant un livre pour apprendre. En suivant les instructions dans l'un des premiers chapitres, j'ai écrit une application courte (code ci-dessous). Il suffit de saisir du text et de modifier le text d'une label pour le faire correspondre. Cependant, en exécutant le code dans le simulateur, j'obtiens l'erreur suivante en cliquant dans le champ de text:

2012-06-08 11: 26: 06.595 HelloNoun [14926: f803] Ouverture '/ Users / clhu / Bibliothèque / Application Support / iPhone Simulator / 5.1 / Bibliothèque / Caches / com.apple.keyboards / images / 1859589221' échoué: ' Pas de file ou de directory '(2)

2012-06-08 11: 26: 06.702 HelloNoun [14926: f803] 'INSERT INTO La valeur de la variable store (?,?,?,?,?,?,?,?)' A échoué (19)

puis, quand j'appuie sur le button pour définir l'label, j'obtiens aussi ces erreurs:

2012-06-08 11: 27: 09.050 HelloNoun [14926: f803] – [Texte UIView]: sélecteur non reconnu envoyé à l'instance 0xb75ac80

2012-06-08 11: 27: 09.051 HelloNoun [14926: f803] * Application terminaison due à une exception non interceptée 'NSInvalidArgumentException', raison: '- [Texte UIView]: sélecteur non reconnu envoyé à l'instance 0xb75ac80'

* Première stack d'appels:

(0x13c7022 0x1558cd6 0x13c8cbd 0x132ded0 0x132dcb2 0x21a7 0x13c8e99 0x1414e 0x140e6 0xbaade 0xbafa7 0xba266 0x393c0 0x395e6 0x1fdc4 0x13634 0x12b1ef5 0x139b195 0x12ffff2 0x12fe8da 0x12fdd84 0x12fdc9b 0x12b07d8 0x12b088a 0x11626 0x1dad 0x1d15) mettre fin à une exception appelée lancer (LLDB)

J'ai regardé par-dessus mes connections et j'ai retracé mes étapes plusieurs fois maintenant et je ne vois rien de vraiment flagrant (bien que je sois vraiment très nouveau à ce sujet). Quelqu'un pourrait-il m'aider à me diriger dans la bonne direction? Merci!


Voici le code:

// ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (strong, nonatomic) IBOutlet UILabel *userOutput; @property (strong, nonatomic) IBOutlet UITextField *userInput; - (IBAction)setOutput:(id)sender; @end 

et

 // ViewController.m #import "ViewController.h" @implementation ViewController @synthesize userOutput; @synthesize userInput; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [self setUserOutput:nil]; [self setUserInput:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } - (IBAction)setOutput:(id)sender { self.userOutput.text = self.userInput.text; } @end 

Je n'ai jamais vu la première erreur avant, mais vous pouvez essayer de supprimer le dossier caches sur le path /Users/clhu/Library/Application Support/iPhone Simulator/5.1/Library/Caches . Le simulateur devrait être assez intelligent pour le recréer.

Pour la deuxième erreur, je vois généralement que lorsque je connecte une propriété à la mauvaise vue dans la NIB. Il semble que la propriété userOutput pointe vers un UIView au lieu d'un UITextField. Vous pouvez vérifier les connections dans votre NIB ou imprimer la valeur de userOutput en ajoutant la ligne suivante à setOutput:

 NSLog(@"%@", self.userOutput); 

La sortie dans votre journal devrait ressembler à quelque chose comme

<UITextField: 0x6fea9f0; frame = (0 0; 100 31); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x6fec700>>