上下拉刷新陋桂,需要到導入一個MJRefresh

#import "ViewController.h"

#import "MJRefresh/MJRefresh.h"

@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>{

? ? //n表格數(shù)組

? ? NSMutableArray * tableArray;

? ? //頁碼

? ? int _curPage;

? ? //時間

? ? NSString * curTime;

? ? //下拉刷新

? ? MJRefreshHeaderView * mjHeadVC;

? ? //上啦刷新

? ? MJRefreshFooterView * mjFooterVC;

}

@property (nonatomic ,strong)UITableView *tbv;

@end

@implementation ViewController

-(UITableView *)tbv{

? ? if (!_tbv) {

? ? ? ? _tbv = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];

? ? ? ? _tbv.delegate = self;

? ? ? ? _tbv.dataSource = self;

? ? }

? ? return _tbv;

}

#pragma mark -------- UITableDelegate------

#pragma mark -------- UITableDasource-------

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

? ? return tableArray.count;

}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

? ? UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"2"];

? ? if (!cell) {

? ? ? ? cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"2"];

? ? }

? ? //得到每一個cenll對應的字典

? ? NSDictionary * cellDIC =tableArray[indexPath.row];

? ? cell.textLabel.text=cellDIC[@"content"];

? ? cell.textLabel.numberOfLines = 0;



? ? return cell;

}

-(void)viewWillAppear:(BOOL)animated{

? ? [super viewWillAppear:animated];

? ? //請求數(shù)據(jù)

? ? [self requestDataPost:_curPage time:curTime];


}

#pragma mark? ------------請求網(wǎng)絡(luò)數(shù)據(jù)---------

//get方式請求數(shù)據(jù)

-(void)requestDataGet:(int)page time:(NSString*)time{


}

//post方法

-(void)requestDataPost:(int)page time:(NSString*)time{

? ? //顯示狀態(tài)欄中的z等待想時期

? ? [UIApplication sharedApplication].networkActivityIndicatorVisible=YES;

? ? NSURL * url = [NSURL URLWithString:@"http://v.juhe.cn/joke/content/list.php"];

? ? NSMutableURLRequest * req = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:5.0];

? ? [req setHTTPMethod:@"POST"];

? ? NSString * pargerStr = [NSString stringWithFormat:@"key=%@&page=%d&pagesize=10&sort=desc&time=%@",@"eaaf69cdca2f46e403a264f5ef7cb74b",_curPage,curTime];

? ? [req setHTTPBody:[pargerStr dataUsingEncoding:NSUTF8StringEncoding]];

? ? [[[NSURLSession sharedSession]dataTaskWithRequest:req completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

? ? ? ? //回到主線程

? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{

? ? ? ? ? ? //停止狀態(tài)欄中的等待指示控件

? ? ? ? ? ? [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

? ? ? ? ? ? //y停止下拉刷新控件

? ? ? ? ? ? [self->mjHeadVC endRefreshing];

? ? ? ? ? //停止上啦刷新控件

? ? ? ? ? ? [self->mjFooterVC endRefreshing];

? ? ? ? });

? ? ? ? if (error !=nil) {

? ? ? ? ? ? NSLog(@"服務(wù)器錯誤");

? ? ? ? ? ? return ;

? ? ? ? }

? ? ? ? NSError * jsonerror = nil;

? ? ? ? id jsData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&jsonerror];

? ? ? ? if (jsonerror !=nil) {

? ? ? ? ? ? NSLog(@"網(wǎng)絡(luò)錯誤");

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? if ([jsData[@"error_code"]integerValue] !=0) {

? ? ? ? ? ? NSLog(@"%@",jsData[@"reason"]);

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? NSArray * dataARR = [jsData[@"result"]objectForKey:@"data"];

? ? ? ? if (self->_curPage==1) {

? ? ? ? ? ? ? self->tableArray = [dataARR mutableCopy];

? ? ? ? }else{

? ? ? ? ? ? [self->tableArray addObjectsFromArray:dataARR];

? ? ? ? }


? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{

? ? ? ? ? ? [self.tbv reloadData];

? ? ? ? });

? ? }]resume];


}

- (void)viewDidLoad {

? ? [super viewDidLoad];

? ? // Do any additional setup after loading the view, typically from a nib.

? ? [self.view addSubview:self.tbv];

? ? //給當前頁碼默認值

? ? _curPage = 1;

? ? //給時間字符串賦值

? ? NSDate * now = [NSDate date];

? ? NSTimeInterval interval =[now timeIntervalSince1970];

? ? curTime = [NSString stringWithFormat:@"%d",(int)interval];

? ? //將下拉刷新實現(xiàn)

? ? mjHeadVC = [[MJRefreshHeaderView alloc]initWithScrollView:self.tbv];

? ? //使用week解決循環(huán)強引用

? ? __weak typeof (self) weakSelf = self;

? ? //定義下拉回調(diào)的代碼塊

? ? mjHeadVC.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {

? ? ? ? //用一個強引用對weak修飾? 防止內(nèi)存釋放

? ? ? ? __strong typeof (self) strongSelf = weakSelf;

? ? ? ? //重新初始化頁碼和當前時間

? ? ? ? self->_curPage=1;

? ? ? ? NSTimeInterval interval =[now timeIntervalSince1970];

? ? ? ? self->curTime = [NSString stringWithFormat:@"%d",(int)interval];

? ? ? ? //重新獲取網(wǎng)絡(luò)數(shù)據(jù)

? ? ? ? [strongSelf requestDataPost:strongSelf->_curPage time:strongSelf->curTime];

? ? };

? ? //上啦刷新l控件

? ? mjFooterVC = [[MJRefreshFooterView alloc]initWithScrollView:self.tbv];

? ? //設(shè)置回調(diào)代碼塊

? ? mjFooterVC.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {

? ? ? ? //用一個強引用對weak修飾? 防止內(nèi)存釋放

? ? ? ? __strong typeof (self) strongSelf = weakSelf;

? ? ? ? //改變頁碼

? ? ? ? self->_curPage+=1;

? ? ? ? //重新獲取網(wǎng)絡(luò)數(shù)據(jù)

? ? ? ? [strongSelf requestDataPost:strongSelf->_curPage time:strongSelf->curTime];

? ? };

}

@end

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末廉油,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乃沙,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诗舰,死亡現(xiàn)場離奇詭異警儒,居然都是意外死亡,警方通過查閱死者的電腦和手機始衅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門冷蚂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人汛闸,你說我怎么就攤上這事蝙茶。” “怎么了诸老?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵隆夯,是天一觀的道長。 經(jīng)常有香客問我别伏,道長蹄衷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任厘肮,我火速辦了婚禮愧口,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘类茂。我一直安慰自己耍属,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布巩检。 她就那樣靜靜地躺著厚骗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兢哭。 梳的紋絲不亂的頭發(fā)上领舰,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音迟螺,去河邊找鬼冲秽。 笑死,一個胖子當著我的面吹牛矩父,可吹牛的內(nèi)容都是我干的劳跃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼浙垫,長吁一口氣:“原來是場噩夢啊……” “哼叠荠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疫鹊,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辙诞,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轻抱,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡飞涂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了祈搜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片较店。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖容燕,靈堂內(nèi)的尸體忽然破棺而出梁呈,到底是詐尸還是另有隱情,我是刑警寧澤蘸秘,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布官卡,位于F島的核電站,受9級特大地震影響醋虏,放射性物質(zhì)發(fā)生泄漏寻咒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一颈嚼、第九天 我趴在偏房一處隱蔽的房頂上張望毛秘。 院中可真熱鬧,春花似錦阻课、人聲如沸熔脂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至旬薯,卻和暖如春晰骑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绊序。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工硕舆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骤公。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓抚官,卻偏偏與公主長得像,于是被迫代替她去往敵國和親阶捆。 傳聞我的和親對象是個殘疾皇子凌节,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 如毀昊天木欲焦 稻粱王事倍憂勞 筐承老耄棄林壑 未若存薪羈二毛
    Psych閱讀 222評論 3 1
  • 【0410能量按鈕】 推薦人:五連老鐵溫暖陽光 情緒是生命的資源倍奢,天下沒有什么情緒是魔鬼朴上,所有的情緒本質(zhì)上都是天使...
    堯建紅閱讀 302評論 0 3
  • 女人就這樣,不能有過節(jié)卒煞,一旦消除了過節(jié)痪宰,再好起來,就沒邊了畔裕。恨不得把自己的腦袋割下來衣撬,再裝到對方的脖子上去。 盲人...
    七泠閱讀 242評論 0 0
  • 清風陣陣夜微涼扮饶,曉月如霜撒東窗具练,兩三壺,桃花釀贴届,伊人醉臥枝頭上靠粪。 十里桃林落芬芳,碧水春江惹殘香毫蚓,淺紅妝占键,白衣裳,...
    山有木兮木有枝_08ea閱讀 110評論 0 0
  • 深夜你來元潘,不要你帶酒畔乙,只需花你一盞茶的時間,聽我講一個故事就好翩概。 我是大家口中比較流行的“佛系”少女牲距。拿著保溫杯泡...
    居寶寶寶寶閱讀 406評論 0 0