当前位置: 首页 > news >正文

自助建设网站平台泰安网站建设课程报告

自助建设网站平台,泰安网站建设课程报告,wordpress自动审核评论,培睿网站开发与设计效果图 主要的逻辑 Manager封装网络请求 首先#xff0c;对于获取网络请求#xff0c;我是将这些方法封装成了一个类Manager#xff0c;后续在获取以往的内容时又封装了一个beforeManager类用于网络请求。这里不多赘述#xff0c;Manager封装网络请求的知识参考我的以往博…效果图 主要的逻辑 Manager封装网络请求 首先对于获取网络请求我是将这些方法封装成了一个类Manager后续在获取以往的内容时又封装了一个beforeManager类用于网络请求。这里不多赘述Manager封装网络请求的知识参考我的以往博客iOS——Manager封装网络请求获取到网络请求之后使用Model层的类和JSONModel来获取接收到的内容JSONModel的知识可以参考我以往的博客iOS——JSONModel的使用与JSONModel的嵌套在Model层我使用了两个类一个mainModel用于接收一开始启动程序接收的内容一个beforeModel用于接收以往的内容。 线程的管理 在写知乎日报的时候遇见了线程的问题比如说在viewController中获取Manager网络请求的内容时因为在viewControllert中viewDidLoad执行的很早所以如果将View层的初始化放在viewDidLoad的话就会先去布局好UI等网络请求好时无法将请求到的数据赋给UI控件。所以这时候需要将View层的初始化重新放在一个实例方法loadUI中在完成网络请求之后再去调用该loadUI方法。这时候就会发现如果我们只是将其不加修饰写在网络请求完回调的方法时就会报错因为View的初始化不在主线程进行。这时我们就需要使用 dispatch_async(dispatch_get_main_queue(), ^{[self loadUI];});使其在主线程中进行才能解决问题。 同样的在后面刷新tableView时的reloadData也要使用这个方法是因为在iOS中reloadData方法必须在主线程上调用。 加载网络图片 在进行网络请求时我发现请求到的图片内容都是url此时我们没办法直接将其转化为图片形式所以就要使用一个第三方库SDWebImage库这个库可以将我们请求到的url转为图片其用法如下 首先我们要导入该库和Masonry、JSONModel这些的方法一样pod ‘SDWebImage’ 即可 然后获取我们通过网络请求到的图片的url并且导入SDWebImage的头文件。然后使用 SDWebImage 中的 sd_setImageWithURL: 方法将网络图片加载到 UIImageView 中。 示例 [yourImageView sd_setImageWithURL:[NSURL URLWithString:图片的url]placeholderImage:[UIImage imageNamed:placeholder]];这将下载位于指定 URL 的图片并将其设置为 yourImageView如果图片下载失败将会使用 placeholder 图片作为占位符。 左上角时间的获取 这里我使用了NSDate来获取当前时间并将时间转化为字符串然后赋值给View层。 #import Foundation/Foundation.h NS_ASSUME_NONNULL_BEGINinterface timeModel : NSObject - (NSArray*)titleTimeLabel; endNS_ASSUME_NONNULL_END#import timeModel.himplementation timeModel- (NSArray *)titleTimeLabel {NSDate *timeDate [NSDate date];NSCalendar *gregorian [[NSCalendar alloc] initWithCalendarIdentifier: NSCalendarIdentifierGregorian];unsigned unitFlags NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitWeekday;NSDateComponents *comp [gregorian components: unitFlags fromDate: timeDate];NSString *month [[NSString alloc] init];if (comp.month 1) {month 一;}if (comp.month 2) {month 二;}if (comp.month 3) {month 三;}if (comp.month 4) {month 四;}if (comp.month 5) {month 五;}if (comp.month 6) {month 六;}if (comp.month 7) {month 七;}if (comp.month 8) {month 八;}if (comp.month 9) {month 九;}if (comp.month 10) {month 十;}if (comp.month 11) {month 十一;}if (comp.month 12) {month 十二;}NSString *day [NSString stringWithFormat:%ld, (long)comp.day];NSArray * timeArr [NSArray arrayWithObjects:month, day, nil];return timeArr; }end单元格的刷新 这块我的代码还有问题但是我初步写出了这个逻辑。我使用了- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath协议方法当即将出现某indexPath.row位置的单元格时就调用该方法。我使用了一个全局变量numberOfCell其初始值为1我的单元格的行数的返回值就是5 * numberOfCell每当调用到该方法时numberOfCell就会加一因此我的单元格数量刷新后就会增加5个。当触发该方法的时候就获取存在ManagerModel类中date属性该属性表示当天的日期的字符串然后将该date-1就得到前一天的时间我还定义了一个全局变量n用于表示刷新了多少天每当刷新一次就让n1因此使用date-n就能得到刷新的对应天数的字符串再将该字符串传给beforeManager的timeStr属性该属性用来补全https://news-at.zhihu.com/api/4/news/before/%的url然后进行网络请求这样我们就获得到了刷新后的内容再将该内容赋给对应的beforeStoriesModel类的实例的stories属性再将该属性给单元格并刷新单元格就实现了单元格的刷新。 但是目前有个获取到的stories数组的越界问题因此我只能刷新两次就崩了这周我改正了这个问题会将解决方法写在下周的博客中。
http://www.yutouwan.com/news/352121/

相关文章:

  • 未备案网站处理系统阿里巴巴有没有帮做网站的公司
  • 深圳市住房建设局官方网站苏州谷歌seo
  • c 做网站需要什么知识长垣网站建设
  • 泰州网站制作建设专门做图片是网站
  • 网站建设类论文选题网站建设图片代码
  • 海尔公司网站建设现状拼多多网上怎么开店
  • 建筑资料网站有哪些优化网络推广外包
  • 做动态在网站需要学什么商城网站设计策划
  • 商标查询网站建设wordpress添加工具栏
  • 网站开发合同付款比例外国人在中国做视频网站
  • 建设网络文化网站的请示安徽网站建设怎么样
  • 廊坊网站排名优化报价教学网站系统流程图
  • 做地图的网站重庆大型的网站建设
  • 做网站的法律软件开发公司深圳
  • 网站建设软件如何建设交流网站的论文
  • 编程 毕业设计代做网站喂来苏州网络科技有限公司
  • 做一个商务平台网站的费用上海闵行区 网站建设
  • 大型o2o网站开发时间wordpress jquery cdn
  • 张家界做网站零基础月做网站多久
  • 备案域名出售平台张北网站seo
  • WordPress网站积分系统自由人网站开发
  • 安徽网站建站系统哪家好帝国网站如何做中英文切换
  • wordpress 公众账号seo自学教程推荐
  • 南通哪里学网站建设河北邯郸seo网站建设网站优化
  • 网站开发 asp.net php网站空间免费
  • 雨岑信息科技有限公司做企业型网站做的怎么样_公司规模如何提升seo搜索排名
  • 首页设计网站 专注山东建设厅网站
  • 怎么写一个网站程序简洁的网页
  • 中山做网站哪家好企业官网有哪些网站
  • 北京最新楼盘排行榜做网站优化有什么途径