gpt4 book ai didi

ios - UITableView 索引

转载 作者:行者123 更新时间:2023-11-29 05:08:08 24 4
gpt4 key购买 nike

我有一个索引 TableView ,它按首字母组织一个州的城市。我所做的工作是使用 A、B、C 等键创建 NSMutableDictionary。并将相应的城市添加到各自的数组中。例如:

Y =     (
Yatesboro,
Yeagertown,
York,
"York Haven",
"York New Salem",
"York Springs",
Youngstown,
Youngsville,
Youngwood,
Yukon
);
Z = (
Zelienople,
Zieglerville,
"Zion Grove",
Zionhill,
Zionsville,
Zullinger
);

现在,我的表格 View 加载了正确数量的部分,并且部分中的行和索引控件可以正常工作:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [cities count];
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if([searchArray count]==0)
return @"";
return [searchArray objectAtIndex:section];
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[cities objectForKey:[searchArray objectAtIndex:section]] count];
}

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
NSLog([NSString stringWithFormat:@"clicked index : %i",index]);
if (index == 0) {
[tableView scrollRectToVisible:[[tableView tableHeaderView] bounds] animated:NO];
return -1;
}
return index;
}

我现在的问题是用每个部分的文本填充表格单元格的文本...关于如何获取此信息有什么想法吗?

最佳答案

cellForRowAtIndexPath 获取传递的 NSIndexPath 类型的参数,其中包含所需的行和部分。参见 NSIndexPath UIKit Additions了解更多详情。

话虽这么说,这可能适用于您的特定情况:

- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *cellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:cellIdentifier] autorelease];
}

NSString *letter = [searchArray objectAtIndex:indexPath.section];
NSArray *city = [cities objectForKey:letter];
cell.text = [city objectAtIndex:indexPath.row];

return cell;
}

不确定我是否正确(还没有在编译器上尝试过),但你现在可能已经了解了总体思路:)

关于ios - UITableView 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664002/

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