无法存储和检索NSMutablearray中的值

时间:2014-05-23 04:02:26

标签: ios objective-c arrays nsmutablearray estimote

我正在NSMutableArray中存储一个值...但是当我尝试检索它时,它找不到它。

我的目标是寻找信标主要ID。如果找到新的信标主要ID,我将其保存在数组中。所以下次当我读取信标主要ID时,如果它已经存在于数组中,我就不会使用它。

for (int i=0; i<numberOfBeacondsInRange; i++) 
{

    NSLog(@"Processing current beacon: %d of %d", i, numberOfBeacondsInRange-1);

    ESTBeacon *currentBeacon = [self.beaconsArray objectAtIndex:i];
    // not able to retrive values from the array to compare

    BOOL isPresent=NO;

    for (int j=0; j<100; j++)
    {
        if ([visitedBeaconsArrayMajor objectAtIndex:j] == currentBeacon.major)
        {
               NSLog(@"Already seen");
               isPresent=YES;
        }
     }

     if (isPresent==NO) 
     {
        [visitedBeaconsArrayMajor addObject:currentBeacon.major];
        NSLog(@"Add major:%@",currentBeacon.major);
     }
}

1 个答案:

答案 0 :(得分:3)

通常情况下,如果您在使用NSMutableArray之前未初始化visitedBeaconsArrayMajor = [[NSMutableArray alloc] init];属性,则会发生这种情况,因为nil会导致{{1}} {{1}}。