导入GData第三方
#define TEST_URL @"__________________"
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:TEST_URL];
NSURLSessionDataTask *task = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
//创建对象 将二进制数据缓存到内存中
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];
//获得根标签内容
GDataXMLElement *rootEle = [doc rootElement];
//获得根标签里的hero标签
NSArray *heroArr = [rootEle elementsForName:@"hero"];
arr = [[NSMutableArray alloc] init];
//遍历
for (GDataXMLElement *heroEle in heroArr) {
Hero *he = [[Hero alloc] init];
//////////////////////////////////////////
//获得name标签的数组 (即便只有一个标签对 也会放入数组)
NSArray *nameArr = [heroEle elementsForName:@"name"];
//因为数组中只有一个数据 则直接取第0个下边的标签即可
//获取name标签
GDataXMLElement *nameEle = [nameArr objectAtIndex:0];
// GDataXMLElement *nameEle = [nameArr firstObject];
// GDataXMLElement *nameEle = [nameArr lastObject];
//去掉标签 寒冰
he.name = [nameEle stringValue];
//////////////////////////////////////////////
//////////////////////////////////////////
he.like = [[[heroEle elementsForName:@"like"] firstObject] stringValue];
/////////////////////////////////////////
[arr addObject:he];
}
}];
[task resume];
//初始化一个表格
_table = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];
//设置代理
_table.delegate = self;
_table.dataSource = self;
//加载
[self.view addSubview:_table];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return arr.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *cellID = @"fang";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
}
cell.textLabel.text = [arr[indexPath.row] name];
cell.detailTextLabel.text = [arr[indexPath.row] like];
return cell;
}
网友评论