0

私のアプリケーションでは、このような可変配列のデータを取得しています。

   MutableArray1:(
       "22.298166 , 73.165809",
       "22.300598 , 73.167183",
       "22.298101 , 73.166188",
       "22.298128 , 73.166194"
       "22.298130 , 73.166194"
      )

NSStringとデータ"22.298130、73.166194"をMutableArray1の最後の3つのデータと比較したいと思います。

どうすればいいですか?

4

2 に答える 2

1
        if([Array1 count]>3)
        {
           for (int i = [Array1 count] - 4; i < [Array1 count]; i++) {
                if ([[Array1 objectAtIndex:i] isEqualToString:@"22.298130 , 73.166194"]) {
                    NSLog (@"True");
                    //Write your Code Here
                }
            }
        }
于 2012-12-06T04:36:30.487 に答える
0
NSArray *array = @[ @"22.298166 , 73.165809",
                    @"22.300598 , 73.167183",
                    @"22.298101 , 73.166188",
                    @"22.298128 , 73.166194",
                    @"22.298130 , 73.166194"];

知る必要がある場合、それが配列内にあるかどうか:

NSString *searchString = @"22.298130 , 73.166194";    
BOOL found = [[array subarrayWithRange:NSMakeRange([array count]-3, 3)] containsObject:searchString];
NSLog(@"%@", (found) ? @"YES" : @"NO");

インデックスを知る必要がある場合は、次のことができます

[[array subarrayWithRange:NSMakeRange([array count]-3, 3)] enumerateObjectsUsingBlock:^(NSString  *obj, NSUInteger idx, BOOL *stop) {
    if ([obj isEqualToString:searchString]) {
        *stop = YES; //avoid further loops, if we had a positive hit.
         NSLog(@"%lu %lu", idx, [array count]-3+idx);  //index in subarray and in original array
    };
}];
于 2012-12-06T05:32:32.730 に答える