我是 iPhone 开发新手。我的应用正在发送 URL 请求以使用 NSURLConnection
从服务器检索数据。我正在获取 JSON
格式的数据,并将其作为字典数组存储在 NSMutableArray
中。所以我有一系列字典。我需要在 UITableViewCell
中显示特定数据。
我的代码在这里...
-(IBAction)ButtonTapped:(id)sender
{
NSString *strURL=[NSString stringWithFormat:@"URl Name here"];
NSURL *url=[NSURL URLWithString:strURL];
self.request=[NSURLRequest requestWithURL:url]
self.nsCon=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if(self.nsCon)
{
self.receivedData=[[NSMutableData alloc] init];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",@"") message:NSLocalizedString(@"Not Connected Other View !!",@"") delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitles:nil];
[alert show];
[alert release];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
// receivedData is an instance variable declared elsewhere.
[receivedData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
// Append the new data to receivedData.
// receivedData is an instance variable declared elsewhere.
[receivedData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
// inform the user
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",@"") message:NSLocalizedString(@"Connection failed !!",@"") delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitles:nil];
[alert show];
[alert release];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *responseString = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding];
self.theDictionary= [[NSMutableDictionary alloc] init];
self.theDictionary = [responseString JSONValue];
self.arrofDictionary=[[NSMutableArray alloc] init];
[self.arrofDictionary addObject:self.theDictionary];
NSLog(@"data length - %@ ",[self.theDictionary objectForKey:@"today"]);
// release the connection, and the data object
[connection release];
[receivedData release];
self.tblList=[[UITableView alloc] initWithFrame:CGRectMake(0,80,320,370) style:UITableViewStyleGrouped];
self.tblList.delegate=self;
self.tblList.dataSource=self;
[self.view addSubview:self.tblList];
}
//consol中的数据展示
(
{
"date_time" = "2012-08-31 09:30:25";
id = 99;
language = en;
name = Tt;
score = 656;
},
{
"date_time" = "2012-08-31 10:08:52";
id = 103;
language = en;
name = Fg;
score = 567;
},
{
"date_time" = "2012-08-31 08:22:38";
id = 87;
language = en;
name = Eree;
score = 565;
},
)
那么如何在UITableViewCell
上显示name 和score ??
最佳答案
您显示的数据位于字典对象数组 (yourArray) 中。您使用以下代码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [[yourArray objectAtIndex:indexPath.row] objectForKey:@"name"];
cell.detailTextLabel.text = [[yourArray objectAtIndex:indexPath.row] objectForKey:@"score"];
return cell;
}
我想这对你有帮助。
关于iphone - 如何在 UITableView 中显示 NSMutableDictionary 数据数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12213351/