-4

我想NSStringNSMutableArray. 但我不知道。

    NSMutableArray *a = [[NSMutableArray alloc]initWithObjects:@"Marco",@"christian",@"hon",@"John",@"fred",@"asdas", nil];
    NSString *name = @"John";

我想看看变量中有名称NSMutableArray变量吗?

4

6 回答 6

4

使用containsObject:方法来检查:

NSMutableArray *a = [[NSMutableArray alloc]initWithObjects:@"Marco",@"christian",@"hon",@"John",@"fred",@"asdas", nil];
    NSString *name = @"John";
    if ([a containsObject:name]) {
        // Your array cotains that object
    }

希望它可以帮助你。

于 2013-05-30T09:20:27.400 回答
1

运行一个循环并检查 .

-(BOOL)array:(NSArray*)array containsString:(NSString*)name
{
    for(NSString *str in array)
    {
        if([name isEqualToString:str])
            return YES;
    }
    return NO;
}

通过这种方式数组找出它包含的对象。

您也可以使用单行

 [array containsObject:name]
于 2013-05-30T09:21:47.450 回答
1

如果您也对元素的位置感兴趣,您可以使用

 - (NSUInteger)indexOfObject:(id)anObject

如果对象不在数组中,它将返回 NSNotFound,或者对象的索引

于 2013-05-30T09:21:59.223 回答
1

您可以使用以下代码

if([a containsObject: name])
{
    //here your code
}
于 2013-05-30T09:21:59.857 回答
0

[a containsObject:name] 这可能会对您有所帮助。

于 2013-05-30T09:20:37.200 回答
0

我建议你使用indexOfObject:. 因为使用这种方式,您不仅可以检查它是否存在,而且如果它确实存在,还可以获取索引。

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"Marco",@"christian",@"hon",@"John",@"fred",@"asdas", nil];
NSString *name = @"John";
NSInteger index = [array indexOfObject:name];
if (index != NSNotFound) {
    NSLog(@"Find name %@", name);
} else {
    NSLog(@"Name %@ not fount", name);
}
于 2013-05-30T09:27:18.350 回答