1.线程问题
在使用网络请求请求数据时,导致在请求到的数据没有返回的时候程序就已经开始了UI布局,这里我将UI布局最终写在网络请求的Block回调中,但是因为线程原因,它没有回到主线程再进行UI布局又导致程序崩溃,这时候需要将程序回到主线程然后再进行UI的布局。
[[Manager shareManager] makeData:^(ContentsModel * _Nonnull ViewModel) {
self.contentsModel = ViewModel;
dispatch_async(dispatch_get_main_queue(), ^{
[self addUI];
});
} error:^(NSError * _Nonnull error) {
NSLog(@"请求失败");
}];
2.时间的获取
对于获取每天的日期,我们用到NSDate对象
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM-dd"];
NSString *dateString = [formatter stringFromDate:date];
3.获取图片
我们通过网络请求获取到的只有图片的地址,我们需要将其化为图片,首先,导入头文件
#import<SDWebImage/UIImageView+WebCache.h>
然后进行图片转化
UIImageView* topImage = [[UIImageView alloc] init];
imageString = [self.model.top_stories[4] valueForKey:@"image"];
NSURL* url = [NSURL URLWithString:imageString];
[topImage sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"default"]];
4.数据的处理
将请求到的Model数据传值到View层,发现获取不到Model内的数据内容。我们需要重新创建一个Model类对象,然后将model数据赋值给Model数据才能使用。
这周只实现了首页部分的内容