0

在我的 iPhone 应用程序中,我有一系列的刺痛。

从那个字符串我需要得到第一个字符的数组。为此,我实现了如下逻辑。它有效,但在此我已经检索了 twicw 1.Small 字母和 2.Capital 字母的字符。

即使是小写字母,我也只需要大写字母。

像只有“A”代表美洲、非洲和美洲,antantica

contactIndex = [[NSMutableArray alloc] init];

      for (int i=0; i<[contactsArray count]-1; i++){
            //---get the first char of each state---
            char alphabet = [[contactsArray objectAtIndex:i] characterAtIndex:0];
            NSString *uniChar = [NSString stringWithFormat:@"%C", alphabet];

            //---add each letter to the index array---
            if (![contactIndex containsObject:uniChar])
            {            
                  [contactIndex addObject:uniChar];
            }        
      }
4

2 回答 2

2

您可以使用良好的老式 C 函数:toupper(str)

或者您可以使用以下uppercaseString()方法:

NSString* changeString = [upperString uppercaseString];
于 2012-10-31T14:30:01.300 回答
2

请参阅示例,这将起作用

NSMutableArray *contactsArray = [[NSMutableArray alloc] initWithObjects:@"America",@"Africa",@"america",@"antantica", nil];    

for (int i=0; i<[contactsArray count]; i++){

        NSString *alphabet = [[contactsArray objectAtIndex:i] uppercaseString];

        NSString *firstCharactor = [alphabet substringToIndex:1];

       [contactIndex addObject:firstCharactor];

        NSLog(@"%@",firstCharactor);

 }
于 2012-10-31T14:32:39.547 回答