網路程式碼實現
一 , 匯入AFNetworking檔案 二 , 建立model類 ,繼承於object 三 , 開啟網路請求 model.h #import <Foundation/Foundation.h>
@interface MyModel : NSObject @property (nonatomic , strong)NSString *author , *createtime , *sid , *likenum , *pic , *title; @end
model.m:
#import “MyModel.h”
@implementation MyModel -(void)setValue:(id)value forUndefinedKey:(NSString *)key{
} @end
ViewController.m #import “ViewController.h” #import “MyModel.h” #import “AFNetworking.h” #import “Two.h” #define get_666 “http://d.yixincao.com/interface/getdata.php?act=list&type=nuanwen&page=0” @interface ViewController ()<UITableViewDelegate , UITableViewDataSource> { UITableView *tbv; NSMutableArray *dataSoure; } @end
@implementation ViewController
-
(void)viewDidLoad { [super viewDidLoad]; tbv = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain]; tbv.delegate = self; tbv.dataSource = self; [self.view addSubview:tbv]; dataSoure = [NSMutableArray new]; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@“text/html”]; [manager GET:@get_666 parameters:nil headers:nil progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { //成功返回 NSLog(@"///成功////%@",responseObject);
for (NSDictionary *dic in responseObject[@"data"]) { MyModel *model = [MyModel new]; model.author = [dic objectForKey:@"author"]; model.pic = [dic objectForKey:@"pic"]; model.title = [dic objectForKey:@"title"]; model.sid = [dic objectForKey:@"id"] ; [self->dataSoure addObject:model]; } dispatch_async(dispatch_get_main_queue(), ^{ [self->tbv reloadData]; });
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { //失敗返回 NSLog(@"////失敗////%@",error); }]; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return dataSoure.count; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
MyModel *model = dataSoure[indexPath.row]; cell.imageView.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[dataSoure[indexPath.row]pic]]]]; cell.textLabel.text = model.title; cell.textLabel.lineBreakMode = UILineBreakModeCharacterWrap; cell.textLabel.numberOfLines = 0; UILabel *zuozhe = [[UILabel alloc] initWithFrame:CGRectMake(300, 50, 100, 40 )]; zuozhe.text = model.author; [cell addSubview:zuozhe];
return cell; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 100; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
Two *two =[[Two alloc] init]; // NSLog(@"%@",[dataSoure[indexPath.row]sid]); two.twoID = [dataSoure[indexPath.row]sid]; [self.navigationController pushViewController:two animated:YES]; }