0

我已经将一些字符串值存储到 mutablearray 以存储到 nsuserdefaults.like 方式`

NSMutableArray *arrayObj = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"emoved"]];


    for(int i = 0 ; i<[searcharray count]; i++) 
    {
         NSLog(@"%@",searcharray); 
        NSDictionary *dictionarydate = [searcharray objectAtIndex:i];

        NSString *memeid=[[dictionarydate objectForKey:@"ID"]description];


        if([dictionarydate objectForKey:@"dateOfInfo"])
        {
            if ([arrayObj containsObject:memeid])
            {              

            }
            else
            {
                [arrayObj addObject:memeid];
            }
        }




    }
    [[NSUserDefaults standardUserDefaults] setObject:arrayObj forKey:@"emoved"];

` 所以当 printng 时你只需要一次添加一个值。但是当我打印那个值时,我看到相同的值被多次添加到数组中。我的方法有什么问题可以有人指出吗?

4

1 回答 1

0

你应该分配和初始化你的 NSMutableArray 像

NSMutableArray *arrayObj = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"emoved"]];

如果您不使用 ARC,请不要忘记在完成后立即释放您的 arrayObj

于 2013-04-05T07:35:12.833 回答