iphone利用线程实现数据的加载,并展示在table列表中
来源:互联网 发布:销售是干嘛的知乎 编辑:程序博客网 时间:2024/05/29 07:06
在之前iphone利用xml传递 数据,展示载Table界面中,介绍了利用xml加载数据,并且分析树形结构,最后把数据展示在table列表中。下面详细介绍一下怎么动态加载数据,最后添加到列表中。
实现的效果如下:
实现的过程是修改两个table 的controller类,修改方法如下:
#import <UIKit/UIKit.h>
@interface WelcomePavilionViewController : UIViewController
<UITableViewDelegate,UITableViewDataSource>
{
NSMutableArray *array;
IBOutlet UITableView *tableView;
}
@property (nonatomic,retain) NSMutableArray *array;
@property (nonatomic,retain) UITableView *tableView;
@end
实现方法是:
#import “WelcomePavilionViewController.h”
#import “XmlWelcome.h”
@implementation WelcomePavilionViewController
@synthesize array,tableView;
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated {
if ([self.array count]==0) {
[NSThread detachNewThreadSelector:@selector(myTaskMethod) toTarget:self withObject:nil];
}
}
-(void)myTaskMethod
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
XmlWelcome *parser=[[XmlWelcome alloc]
initWithContentsOfURL:[NSURL URLWithString:@"http://mp.myvsp.cn/welcomedemos/getpavilionxml.json?area=a&width=80&height=80&digest_length=20" ]];
//设置代理
[parser setDelegate:parser];
[parser parse];
self.array=parser.ones;
[self.tableView reloadData];
[parser release];
[pool release];}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn’t have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren’t in use.
}- (void)viewDidUnload {
self.array=nil;
self.tableView=nil;
}
- (void)dealloc {
[self.tableView release];
[self.array release];
[super dealloc];
}- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return [array count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"tag"];
if (cell==nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:@”tag”] autorelease];
}
//表格设计
NSDictionary* one = [array objectAtIndex:indexPath.row];
cell.textLabel.text = [one objectForKey:@"title"];
cell.detailTextLabel.text = [one objectForKey:@"content"];
id path = [one objectForKey:@"image"];
NSURL *url = [NSURL URLWithString:path];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [[UIImage alloc] initWithData:data cache:NO];
cell.image=image;
[image release];
return cell;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return @”Hobby Information:”;
}
@end
其中tableview,利用IB和相应的代码相连接。
- iphone利用线程实现数据的加载,并展示在table列表中
- iPhone利用线程实现数据的加载,并展示在table列表中
- iphone利用线程实现数据的加载,并展示在table列表中
- iphone利用线程实现数据的加载,并展示在table列表中
- iPhone利用线程实现数据的加载并在Table中展示
- Iphone利用JSON传递数据,展示在Table界面中
- Iphone利用JSON传递数据,展示在Table界面中
- Iphone利用JSON传递数据,展示在Table界面中
- iphone利用xml传递数据,展示载Table界面中
- iPhone利用xml传递数据,展示载Table界面中
- iphone利用xml传递数据,展示载Table界面中
- Bootstrap Table获取并展示数据列表
- 利用数据库实现分页,并显示在Table中
- 在jQuery中利用AJAX加载XML数据并解析
- 在jQuery中利用AJAX加载XML数据并解析
- 在jQuery中利用AJAX加载XML数据并解析
- 在jQuery中利用AJAX加载XML数据并解析
- 在jQuery中利用AJAX加载XML数据并解析
- 计算机端口相关
- 在字符串里表示路径
- 开博第一篇
- 写截屏软件的函数
- 在浏览器中输出html(html转义)
- iphone利用线程实现数据的加载,并展示在table列表中
- 一些linux网络API
- JavaScript版几种常见排序算法分享
- VoIP全球发展现状
- iphone实现xml的post传递,并且接收数据
- GeoServer开发手册2 写在前面
- xss简单渗透测试
- google map markers
- Browse the Linux Kernel Source with LXR