La propiedad del objective C pasó a cero a cero después de su uso.

En mi controller de vista raíz (llamado rootViewController.h) tengo una propiedad

@property (nonatomic, strong) NSDictionary *contactList; 

Estoy tratando de almacenar valor en este dictionary. Estoy pasando la propiedad a mi function

 AddContact *addContact = [[AddContact alloc]init]; NSString *result = @""; result = [addContact addContact:user :[self contactList]]; 

Cuando voy a mi function AddContact y el punto de interrupción, la list de contactos es nula, aunque agregué 5x en la list de contactos usando este código.

 User *newUser = [[User alloc]init]; newUser.name = user.name; newUser.phoneNumber = user.phoneNumber; newUser.companyName = user.companyName; [contactList setValue:newUser forKey:newUser.name]; 

Ayuda

Intenta usar NSMutableDictionary , si quieres cambiarlo. NSDictionary no se puede editar después de la initialization.

Si quieres cambiar tu dictionary que necesitas crear es tan cambiante como

 @property (nonatomic, strong) NSMutableDictionary *contactList; 

según la regla si está utilizando objects mutables que necesita asignar, inicielo

por lo que en vista el método didLoad

 _contactList = [[NSMutableDictionary alloc] init] ; 

Tienes que inicializar contactList. No ha inicializado contactList y, por lo tanto, el valor no está configurado. Y puede usar el dictionary mutable si desea cambiar los valores más adelante. Asegúrese de que los valores que se agregan a contactList no sean nulos, de lo contrario no se agregarán a contactList y, por lo tanto, el dictionary no tendrá ningún object en él.