我有2個NSArrays,我試圖在一個NSDictionary鏈接在一起,使每個的providerName有providerId與它相關聯。如何獲得NSDictionary中的數據到一個UITableView
我期望兩個陣列使用self.providersDict = [NSDictionary dictionaryWithObjects:providerName forKeys:providerId];
相互關聯,然後提供者名稱將顯示爲表格單元格標題和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;
}
感謝您的幫助。
什麼是你需要的數據?你能解釋我嗎? – 2013-03-06 12:38:22
我認爲上述可行。我期望這兩個數組使用self.providersDict = [NSDictionary dictionaryWithObjects:providerName forKeys:providerId];然後將providerName作爲表格單元格標題顯示,將id作爲表格單元格標題顯示。 nslog語句沒有運行。我不知道爲什麼。 – hanumanDev 2013-03-06 12:40:06
我假設您的providersDict中沒有鍵名爲「object」和「provider」,鍵是1,2,3?你不能枚舉字典,因爲你正在嘗試做日誌...... – Ankit 2013-03-06 12:44:10