【发布时间】:2013-03-06 12:34:26
【问题描述】:
我有 2 个 NSArray,我试图在 NSDictionary 中将它们链接在一起,以便每个 providerName 都有一个与之关联的 providerId。
我希望这两个数组使用self.providersDict = [NSDictionary dictionaryWithObjects:providerName forKeys:providerId]; 相互关联,然后providerName 显示为表格单元格标题,id 显示为表格单元格子标题。
目前我无法获取 UITable 上显示的数据,甚至无法使用以下方法注销字典:
for (id key in self.providersDict) {
NSLog(@"key: %@, value: %@", key, [self.providersDict objectForKey:key]);
}
在.h中声明:
NSArray *providerName;
NSArray *providerId;
@property (nonatomic, strong) NSDictionary *providersDict;
在viewDidLoad中:
providerName = [NSArray arrayWithObjects:@"provider1", @"provider2", @"provider3", nil];
providerId = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
self.providersDict = [NSDictionary dictionaryWithObjects:providerName
forKeys:providerId];
UITable 方法:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[self.providersDict allKeys] count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *unifiedID = @"aCellID";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:unifiedID];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:unifiedID];
}
for (id key in self.providersDict) {
NSLog(@"key: %@, value: %@", key, [self.providersDict objectForKey:key]);
}
NSString *providerNameString = [self.providersDict objectForKey:@"provider"];
NSString *providerIdString = [self.providersDict objectForKey:@"object"];
cell.textLabel.text = providerNameString;
cell.detailTextLabel.text = providerIdString;
return cell;
}
感谢您的帮助。
【问题讨论】:
-
您的要求是什么?你能解释一下吗?
-
我认为上述方法可行。我希望这两个数组使用 self.providersDict = [NSDictionary dictionaryWithObjects:providerName forKeys:providerId]; 相互关联。然后 providerName 显示为表格单元格标题,id 显示为表格单元格子标题。 nslog 语句没有运行。我不知道为什么。
-
我假设您的 providersDict 中没有名为“object”和“provider”的键,键是 1,2,3 吗?而且你不能像你试图为日志做的那样枚举字典......
-
我认为字典中的键和值是互换的。检查一下。
-
你设置了tableView的代理吗?我不认为你的委托方法被调用
标签: iphone ios objective-c uitableview nsdictionary