2010-02-25 4 views
0

premier, j'ai suivi ce tutoriel: three20 github tutorialThree20 App plante après un certain point de vue change

J'ai un problème de gestion de la mémoire, je pense, ce qui bloque ma demande. Je pense, _properties dans mes postsModel bloque mon application.

la première fois que je lance mon application et change la vue à mon postsTableViewController fonctionne très bien. J'ai créé un TTLauncherView, en revenant à ce viewcontroller bloque mon application.

ici maintenant un code de mon postsModel

// .h 
@interface postsModel : TTURLRequestModel { 
    NSMutableArray *_properties; 
} 
@property (nonatomic, readonly)NSMutableArray *properties; 

// .m 
@synthesize properties = _properties; 
- (void)requestDidFinishLoad:(TTURLRequest*)request { 
    TTURLDataResponse* response = request.response; 
    NSString* responseBody = [[NSString alloc] initWithData: response.data encoding: NSUTF8StringEncoding]; 

    NSDictionary *json = [responseBody JSONValue]; 
    TT_RELEASE_SAFELY(responseBody); 

    NSMutableArray *resultSet = [json objectForKey:@"posts"]; 
    TT_RELEASE_SAFELY(_properties); 
    _properties = [NSMutableArray arrayWithArray:resultSet]; 
    TT_RELEASE_SAFELY(resultSet); 

    [super requestDidFinishLoad:request]; 
} 


- (void)dealloc { 
    TT_RELEASE_SAFELY(_properties); 

    [super dealloc]; 
} 

enlever le tt_release de mes _properties cesse de s'écraser l'application en remontant de ce point de vue à la vue de lancement, mais en cliquant sur mon TableView à nouveau, se bloque à nouveau l'application .

c'est un peu difficile à écrire pour moi, parce que c'est beaucoup de code. Je peux aussi fournir mon application en tant que fichier .zip si cela peut aider, c'est très basique maintenant.

merci

Répondre

2

Oui, le bogue est commun. Changement:

_properties = [NSMutableArray arrayWithArray:resultSet]; 

Pour:

_properties = [[NSMutableArray arrayWithArray:resultSet] retain]; 

Ou faire le maintien de la propriété et de l'utilisation:

self.properties = [NSMutableArray arrayWithArray:resultSet]; 
+0

n'a pas d'effet à mon problème de plantage :( – choise

+0

Eh bien, recherchez des erreurs similaires dans d'autres Ceci peut certainement conduire à des plantages –

+0

est-ce qu'il n'y a aucun moyen de trouver la position où mon application tombe en panne? Le débogueur n'est pas vraiment utile – choise

Questions connexes