2010-11-17 64 views
0

我新的目标C.我已经创建通过以下方式一个NSString数组:目标C得到的NSString数组索引由价值

static NSString* fontSizeName[] = 
{ 
@"14", 
@"18", 
@"22", 
@"26", 
@"30", 
@"34", 
}; 

现在,我的价值,“26”,怎么能我得到它在fontSizeName []中的索引?

感谢您的输入。

回答

1
NSString *val = @"26"; // Get this from somewhere 
int i; 
int idx = -1; 
for (i = 0; i < 6; i++) { 
    if ([fontSizeName isEqualToString:val]) { 
     idx = i; 
     break; 
    } 
} 
+0

+1“无”哨兵元素的数组中会使虽然它更加灵活,不需要硬编码的长度。或者使用NSArray代替indexOfObject :. – Eiko 2010-11-17 16:50:39

+0

@Eiko:我认为你应该让NSArray部分成为答案。我打算去看看你的评论。 – JeremyP 2010-11-17 16:57:04

2

使用indexOfObject方法:

index = [fontSizeName indexOfObject:@"26"]; 
+0

如果'fontSizeName'是一个'NSArray',那会很好,但它是一个普通的C数组。 – JeremyP 2010-11-17 16:55:32