gpt4 book ai didi

iOS 实现了 "Contact View Controller"

转载 作者:行者123 更新时间:2023-11-29 04:40:27 25 4
gpt4 key购买 nike

我想实现类似于 iPhone 联系人列表的功能。我知道有一个地址簿框架允许我访问设备的联系人,但我想使用存储在核心数据数据库中的我自己的联系人。

我正在使用 NSFetchedResultsController 来获取并在表格 View 上列出我的联系人。

但是,我似乎找不到一种方法让 NSFetchedResultsController 显示按部分组织的联系人,每个部分都是每个联系人姓名的第一个字母。喜欢:

Section A: All contacts that start with the letter A
Section B: All contacts that start with the letter B
etc...

我认为我可以使用 NSFetchedResultsControllerinit 方法中的 sectionNameKeyPath: 参数来完成此操作,但是我应该如何使用为了达到我的目的?

最佳答案

您必须首先对数据进行排序,并获取每个部分的“键”(A、B、C、D、E)列表。将它们保存为属性上的 NSArray。

实现这个:

// Function to load your data
-(void)dataDidLoad
{
// sort the keys
self.sortedKeysForUsersWithApp = tSortedKeys;
//
[self.tableView reloadData];
}
-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
// add a UILabel
headerLabel.text = [self.sortedKeysForUsersWithApp objectAtIndex:section];
// set the text to the section title
}

-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return [NSArray arrayWithObjects:@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z", @"#", nil];
}

-(NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
//return [self.sortedKeys indexOfObject:title];
return [self.sortedKeysForUsersWithApp indexOfObject:title];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
//return self.sortedKeys.count;
return self.sortedKeysForUsersWithApp.count;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSDictionary *tDictionary = self.sortedUsersWithApp;

//NSString *key = [self.sortedKeys objectAtIndex:section];
NSString *key = [self.sortedKeysForUsersWithApp objectAtIndex:section];
return ((NSArray*)[tDictionary objectForKey:key]).count;
}

关于iOS 实现了 "Contact View Controller",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472116/

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