dans mon application, un NSMutableArray est rempli avec un objet dans viewDidLoad (éventuellement il y aura beaucoup d'objets mais je fais juste un jusqu'à ce que je le fasse fonctionner correctement). Je démarre également une minuterie qui démarre une méthode qui doit accéder à NSMutableArray toutes les quelques secondes. NSMutableArray fonctionne correctement dans viewDidLoad, mais dès que cette méthode est terminée, il perd l'objet.iphone NSMutableArray perd des objets à la fin de la méthode
MyApp.h
@interface MyApp : UIViewController {
NSMutableArray *myMutableArray;
NSTimer *timer;
}
@property (nonatomic, retain) NSMutableArray *myMutableArray;
@property (nonatomic, retain) NSTimer *timer;
@end
myApp.m
#import "MyApp.h"
@implementation MyApp
@synthesize myMutableArray;
- (void) viewDidLoad {
cycleTimer = [NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(newCycle) userInfo: nil repeats:YES];
MyObject *myCustomUIViewObject = [[MyObject alloc]init];
[myMutableArray addObject:myCustomUIViewObject];
[myCustomUIViewObject release];
NSLog(@"%i",[myMutableArray count]); /////outputs "1"
}
-(void) newCycle {
NSLog(@"%i",[myMutableArray count]); /////outputs "0" ?? why is this??
}
Où avez-vous alloc/init myMutableArray? Cela aiderait à voir ça aussi. – progrmr