从网络获取数据显示到TableViewCell容易犯的错
2019獨角獸企業重金招聘Python工程師標準>>>
? ?昨晚第一次做用網絡接口獲取的數據,顯示到自己的cell上,犯了很多的錯,
總結如下;
1.數據源數組必須首先初始化,一般使用的是懶加載;
2.異步獲取網絡圖片,通過第三方SDWebImage來做
a.首先導入這個包的
#import "UIImageView+WebCache.h"
b.通過這個類的方法設置imageview的圖片
//顯示網上的圖片
? ? //參數1:需要顯示的網絡圖片的url
? ? //參數2:占位圖片(網絡圖片還沒有下載完之前,imageView上顯示的圖片)
? ? //sd_setImageWithURL:placeholderImage:
? ? [_coverImageView sd_setImageWithURL:[NSURL URLWithString:model.imagePath] placeholderImage:[UIImage imageNamed:@" "]];
?? ?
注意:如果網絡圖片過大,顯示的時候會出現花屏的現象;
3!!!.同步從網絡獲取的圖片是一個URL:比如:http:www.bai.com/xxx.jpg這樣子的
在顯示在我們的界面上的時候代碼要這樣寫:
//從網絡獲取圖片要用二進制得到url;
? ? NSURL *url = [NSURL URLWithString:model.cover_image];
?? ?
? ? NSData *data = [NSData dataWithContentsOfURL:url];
?? ?
? ? _coverImageView.image = [UIImage imageWithData:data];
2.從網絡獲取的數據顯示在tableViewCell必須要刷新
代碼如下:
#pragma mark - 準備數據
- (void)prepareData{
?? ?
?? ?
? ? //數組的初始化
? ? self.dataArray = [[NSMutableArray alloc]init];
?? ?
? ? NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
?? ?
? ? NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
?? ?
? ? NSURL *url = [NSURL URLWithString:path];
?? ?
? ? NSMutableURLRequest *request = [NSMutableURLRequest
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? requestWithURL:url];
?? ?
?? ?
? ? NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
?? ? ? ?
?? ? ? ?
?? ? ? ?
? ? ? ? NSDictionary *dict? = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
?? ? ? ?
? ? ? ? NSArray *array = dict[@"data"][@"list"];
?? ? ? ?
? ? ? ? for (NSDictionary *dict in array) {
?? ? ? ? ? ?
? ? ? ? ? ? DataModel *myModel = [[DataModel alloc]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? initWithDictionary:dict];
? ? ? ? ? ?
?? ? ? ? ? ?
? ? ? ? ? ? [self.dataArray addObject:myModel];
?? ? ? ? ? ?
? ? ? ? }
? ? ? ? //數據刷新!!
? ? ? ? [_tableView reloadData];
?? ? ? ?
? ? }];
?? ?
? ? [task resume];
? ?
}
以上就是在從網絡獲取數據時候容易犯錯的地方!!
轉載于:https://my.oschina.net/luhoney/blog/667561
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的从网络获取数据显示到TableViewCell容易犯的错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到刷牙出血什么意思
- 下一篇: Huffman树进行编码和译码