OGeek|极客世界-中国程序员成长平台

标题: iphone如何使用sqlite获取组部分tableview的姓氏的第一个字母? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:39
标题: iphone如何使用sqlite获取组部分tableview的姓氏的第一个字母?

我想知道如何为从 iphone (xcode 4.2) 中的 sqlite 数据库中提取的名称创建一个字母组部分。我能够为名字做组部分,但不能做姓氏部分。有些名字有小写我希望标题字母全部大写,包括这些名字的小写和大写字母。有些名字有 3 个名字,想确保我得到姓氏。我的代码在下面,它似乎混淆了字母表(从 A 到 L 到 C 到 D)以及 e 和 E(我不想显示的上下)

//---create the index---

nameIndex = [[NSMutableArray alloc] init];

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

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

更新*

self.authorsInfo = [poemDatabase database].authorsInfo;

//---create the index---
nameIndex = [[NSMutableArray alloc] init];

for (int i=0; i<[_authorsInfo count]-1; i++){
    //---get the first char of each state---
    authors *tempAuthor = [_authorsInfo objectAtIndex:i];
    NSArray *nameComponents = [tempAuthor.name componentsSeparatedByString" "];
    NSString *lastName = [ nameComponents objectAtIndex: nameComponents.count-1 ];
    char alphabet = [lastName characterAtIndex:0];


    //char alphabet = [tempAuthor.name characterAtIndex:0];
    NSString *uniChar = [NSString stringWithFormat"%C", alphabet];

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



Best Answer-推荐答案


如果 tempAuthor.name 包含带有空格的全名,试试这个:

NSArray *nameComponents = [tempAuthor.name componentsSeparatedByString" "];
NSString *lastName = [ nameComponents objectAtIndex: nameComponents.count-1 ]
char alphabet = [lastName characterAtIndex:0];

关于iphone如何使用sqlite获取组部分tableview的姓氏的第一个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374408/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4