2010-09-01 3 views
1

J'ai construit une nouvelle vue avec un indicateur d'activité fixé, le chargement de cette pointe, semble fonctionner très bien sur une autre vue:Suppression de sous-vue pour l'indicateur d'activité

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    ProgressViewController *progresssView = [[ProgressViewController alloc] initWithNibName:@"ProgressViewController" bundle:nil]; 
    [self.view addSubview:progresssView.view]; 

} 

Le problème est quand je tente de supprimer la vue lorsque les données ont été chargées:

- (void)parserDidEndDocument:(NSXMLParser *)parser { 

    ProgressViewController *progresssView = [[ProgressViewController alloc] initWithNibName:@"ProgressViewController" bundle:nil]; 

    [progresssView.view removeFromSuperview]; 

    NSLog(@"All done"); 

    [dataTable reloadData]; 
} 

Toute aide bienvenue ...

+0

Et le problème est ...? –

+0

Je suppose que le problème est qu'il ne peut pas supprimer sa progression. Regardez son code, je peux deviner qu'il essaie d'enlever une autre progression de la vue que celui ajouté – vodkhang

Répondre

2

Vous ne pouvez pas faire de cette façon parce que votre nouvel indicateur de progression est pas le même que celui ajouté. Comme vous pouvez le faire (si les deux méthodes de la même classe) déclarent une variable d'instance et une propriété pour celle-ci.

@interface MyViewController { 
    @private 
    ProgressViewController *progresssView; 
} 

@property (nonatomic, retain) ProgressViewController *progresssView; 

@end 

@implementation MyViewController 
@synthesize progressView; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.progresssView = [[ProgressViewController alloc] initWithNibName:@"ProgressViewController" bundle:nil] autorelease]; 
    [self.view addSubview:progresssView.view]; 

} 

- (void)parserDidEndDocument:(NSXMLParser *)parser { 

    [self.progresssView.view removeFromSuperview]; 

    [dataTable reloadData]; 
} 

- (void)dealloc { 
    [progressView release]; 
} 

@end 
+0

Bingo ... Bien que ce serait quelque chose de lien, je ne pouvais pas obtenir le code correct ... – jimbo