gpt4 book ai didi

iphone - UITableView 显示键值对

转载 作者:行者123 更新时间:2023-12-01 18:32:26 27 4
gpt4 key购买 nike

我有一个需要显示的名称和值的列表。在 IB 中维护大量标签和相关内容文本字段很困难,所以我正在考虑使用 UITableView。有没有办法修复单元格的标签,然后绑定(bind)到 NSDictionary 并显示键/值名称或修复 UITableView 中的单元格和标签?

最佳答案

您不能像编写 OS/X 应用程序时那样绑定(bind)到表格 View ,但下面的两种方法,在您的 UITableView 的数据源中应该可以解决问题:

@property (strong, nonatomic) NSDictionary * dict;
@property (strong, nonatomic) NSArray * sortedKeys;

- (void) setDict: (NSDictionary *) dict
{
_dict = dict;
self.sortedKeys = [[dict allKeys] sortedArrayUsingSelector: @selector(caseInsensitiveCompare:)];

[self.tableView reloadData];
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.sortedKeys count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath: indexPath];

NSString * key = self.sortedKeys[indexPath.row];
NSString * value = dict[key];

cell.textLabel.text = key;
cell.detailTextLabel.text = value;

return cell;
}

或在 swift
var sortedKeys: Array<String> = []
var dict:Dictionary<String, String> = [:] {
didSet {
sortedKeys = sort(Array(dict.keys)) {$0.lowercaseString < $1.lowercaseString}
tableView.reloadData()
}
}

override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return sortedKeys.count
}

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {

let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell

let key = sortedKeys[indexPath.row] as String
let value = dict[key] as String

cell.textLabel.text = key
cell.detailTextLabel.text = value

return cell
}

关于iphone - UITableView 显示键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244992/

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