gpt4 book ai didi

iphone 如何使用 sqlite 获取组部分 tableview 的姓氏首字母?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:39 26 4
gpt4 key购买 nike

我想知道如何为从 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];
}
}

最佳答案

如果 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com