无法从NSMutableArray中删除对象

时间:2010-09-17 15:43:56

标签: objective-c xcode object nsmutablearray

我正在尝试从我的NSMutableArray中删除对象,但我一直收到bad_access错误。

我使用了“removeAllObjects”和“removeObjectAtIndex”,但这些都不起作用。

如果我向这个数组添加对象,一切都很好。

我想要做的是在再次填充之前清除我的阵列。

在尝试填充之前我没有释放数组。

请求帮助。

再见

代码:

[tab_Demandes removeAllObjects];

for (NSDictionary *demandeD in demandes)
{

    NSInteger i=0;


    NSString *title = [demandeD objectForKey:@"Title"];
    NSString *desriptif = [demandeD objectForKey:@"Description"];
    NSString *Id = [demandeD objectForKey:@"Id"];
    NSString *created = [demandeD objectForKey:@"Created"];
    NSString *statut = [demandeD objectForKey:@"Statut"];
    NSString *copropriete = [demandeD objectForKey:@"Copropriete"];
    NSString *immeuble = [demandeD objectForKey:@"Immeuble"];
    NSString *lot = [demandeD objectForKey:@"Lot"];
    NSString *auteur = [demandeD objectForKey:@"Author"];
    NSString *auteurId = [demandeD objectForKey:@"IdAuthor"];
    NSString *auteurLogin = [demandeD objectForKey:@"Login"];


    Demande *dem =[[Demande alloc] init];       
    dem.demTitle=title;
    dem.demId=Id;
    dem.demCreated=created;

    NSString *descriptifDecode = [desriptif stringByReplacingPercentEscapesUsingEncoding:
                                  NSASCIIStringEncoding];       

    dem.demDescriptif=descriptifDecode;
    dem.demIdCopro=copropriete;
    dem.demIdImmeuble=immeuble;
    dem.demIdLot=lot;
    dem.demStatut=statut;
    dem.demAuteur=auteur;
    dem.demIdAuteur=auteurId;
    dem.demLoginAuteur=auteurLogin;


    //[tab_Demandes replaceObjectAtIndex:i withObject:dem];
    //i=i+1;



    [tab_Demandes addObject:dem];

    //[dem release];
}

如果我需要稍后删除它,我什么时候需要释放我添加到选项卡的对象?因为内存泄漏。

1 个答案:

答案 0 :(得分:1)

并不是你发布了数组,而是数组中的一个(或多个)对象已经在数组的外部发布了。尝试打开NSZombieEnabled,看看你是否可以找出哪一个。