2010-07-27 5 views
0

Donc, je suis encore très nouveau à cet objectif C pense et j'ai rencontré un problème dont je ne suis pas sûr la cause.Iphone - La propriété de classe provoque un plantage

Mon fichier h ressemble fondamentalement ceci:

@interface DrinkDetailViewController : UIViewController<UITextFieldDelegate> 
{ 
    UITextField* nameTextField; 
    UITextField* activeView; 
} 
@property (nonatomic,retain) IBOutlet UITextField* nameTextField; 

Dans mon fichier m je suis mise en œuvre de la fonction de délégué:

-(BOOL) textFieldShouldBeginEditing:(UITextField*) textField 
{ 
    activeView = textField; 
    return YES; 
} 

La chose est que si je suis en déclarant ActiveView être une propriété aussi (ce qui signifie ajouter une propriété, synthétiser et tout faire), puis quand je quitte la vue (c'est un projet basé sur la navigation), mon application plante. Cependant, si je vis comme une propriété, tout semble fonctionner correctement. Pourquoi donc ???

Répondre

1

parce qu'il est une propriété que vous devez l'appeler ainsi:

self.activeView = textField; 

De cette façon, les règles de gestion de la mémoire correctes seront appliquées et aussi les notifications KVO seront faites pour vous.

+0

Grande - travail. Merci !! – Idan

1

êtes-vous synthesing ActiveView dans votre fichier d'implémentation:

@synthesize activeView; 
Questions connexes