240 发简信
IP属地:福建
  • 这跟你使用的底层网络库有关,AFNetworking使用的是NSURLSessionTask,提供了cancel方法来取消请求。如果你用了像CFNetwork这样更底层的网络请求库,那做取消就是另外的方式了

    iOS取消网络请求的正确姿势

    前言 前段时间,有两个以前的同事碰巧都问了我有关取消网络请求的问题。这个问题我之前没怎么在意,我通常不会特意在APP中做取消请求的处理,因为从我的直觉来说,网络请求一旦发出去...

  • 这跟单不单例无关,文中的示例就没有用什么单例封装,只要调用网络请求方法能返回相应的task即可

    iOS取消网络请求的正确姿势

    前言 前段时间,有两个以前的同事碰巧都问了我有关取消网络请求的问题。这个问题我之前没怎么在意,我通常不会特意在APP中做取消请求的处理,因为从我的直觉来说,网络请求一旦发出去...

  • 请求已发出还未收到回调就说明请求已经发给服务端,但还没有收到(或者说完整收到)服务端的响应,这时cancel的话,会进入failure回调

    iOS取消网络请求的正确姿势

    前言 前段时间,有两个以前的同事碰巧都问了我有关取消网络请求的问题。这个问题我之前没怎么在意,我通常不会特意在APP中做取消请求的处理,因为从我的直觉来说,网络请求一旦发出去...

  • sun6boys的方法就是这样,文章后面有给出他发在github的demo

    iOS实现多个可变cell复杂界面的制作

    在日常的开发中,有时会遇到内容块比较多,且又可变的界面: 这个界面中有些内容块是固定出现的,比如最上面的商品详情图片、商品名称、价格等。而有些内容块则是不一定出现的,比如促销...

  • 120
    Mac系统使用PHP连接SQL Server

    前言 最近出于工作需要,要从MySQL、SQL Server多个数据库中导入旧数据,并对旧数据进行整理再导入新系统。PHP连接MySQL自不必多说,麻烦的在于SQL Serv...

  • iOS取消网络请求的正确姿势

    前言 前段时间,有两个以前的同事碰巧都问了我有关取消网络请求的问题。这个问题我之前没怎么在意,我通常不会特意在APP中做取消请求的处理,因为从我的直觉来说,网络请求一旦发出去...

  • @幸福的李雨龙 你要说没关系也对,只是学习后端开发自然会囊括http协议的东西,学习后端开发也有助于对http协议的理解,我相信很少人会只是单纯去学http协议,那样枯燥又难以理解。此外,http协议也只是数据的载体,像文中所说的,要测试数据分页的各种情况、后端响应慢、取消网络请求对后端业务流程是否有影响等,这些还是需要学习后端开发去测试支持会更好。

    为什么移动开发人员应该学习PHP?

    前言 随着移动端的兴起,越来越多的开发人员投身到移动端的开发热潮当中。虽然移动端开发不可避免的要跟后端打交道,但许多移动端开发人员却对后端开发知之甚少。他们更多的只是专注于自...

  • @幸福的李雨龙 因为不是一块开发的,接口(Java)是对方公司开发的,他们开发好接口部到服务器,然后给接口文档供我们对接。所以,不方便做断点调试。

    为什么移动开发人员应该学习PHP?

    前言 随着移动端的兴起,越来越多的开发人员投身到移动端的开发热潮当中。虽然移动端开发不可避免的要跟后端打交道,但许多移动端开发人员却对后端开发知之甚少。他们更多的只是专注于自...

  • 为什么移动开发人员应该学习PHP?

    前言 随着移动端的兴起,越来越多的开发人员投身到移动端的开发热潮当中。虽然移动端开发不可避免的要跟后端打交道,但许多移动端开发人员却对后端开发知之甚少。他们更多的只是专注于自...

  • 极速配置PHP环境

    在学习任何一门开发语言之前,首先要面临的都是环境的配置。环境配置的难易也是语言学习的一道门槛,过于复杂的配置,有时甚至会将学习者直接拒之门外(在早些时候,PHP刚开始冒头之时...

  • 有个朋友跟我说,有一篇关于我的文章的抬杆之作,我才得以一窥兄台的作品。我都纳闷为什么我的那篇文章阅读量激增,原来有兄台为我引流。

    言归正传,我觉得你的一些观点有失偏颇。
    首先,我不明白你说的“没有真的解决问题”是指什么?你所谓的要解决的问题是什么?我的文章中给出的问题,我已经是用我所说的方法解决了,所以,你这边所说的应该是指另外的问题,或者说,你觉得我的方法通用性不够好,在面临其他一些相似问题时,解决起来就会力不从心,有局限性,关于这一点我后面再说。
    “不能保证动态行高”,这点我觉得很奇怪,我的文章中有给出动态行高的例子,评论的内容就是动态行高,不明白为什么你说不能保证。有的cell是固定行高,这也是有意为之,我想传达的是,既可以用固定行高,也可以用动态行高。
    “性能也不是很好”,我不知道你如何得出这样的结论。单从性能而言,我反而觉得你这种方法性能才会不好。因为你用scrollview,是不能像tableview那样实现cell的复用。比如你的示例中,“项目定位”、“项目介绍”、“团队介绍”这些如果是tableview的cell就可以复用,而用scrollview的话,就不行了。当然,客观的说,对于复杂界面,cell的复用本来就很有限,而且会用到大量不同的cell,与scrollview的方法相比,性能的优劣恐怕也难以定论。

    你的方法总的思路就是“分而治之”,将一个界面划成各个小的View,然后各个View管理自身的逻辑就够了,将一个大问题拆成多个小问题。而我的做法,则简单粗暴,所有的逻辑都放一起处理,所以你会觉得需要做N多的逻辑判断,为以后的产品更迭埋下了大坑。

    这几天,陆续看了些对我那种方法的评论,我发现,这里面存在一些误解,或者说我没有有意识的说明。我想说的是,我的方法并不适用所有情况,也不是要解决所有的问题。就好像说我的方法是一把切菜的刀,而你说它剁不了骨头一样,它本来就不是用来剁骨头的。我的方法是有局限的,正如我的文章中所给出的示例问题,只是一个cell多变但纯展示的界面。而你给出的示例,除了cell多变,还有比较多的交互,比如显示/隐藏内容、需要填写很多表单项等,这时我的方法就不合适。

    总的来说,我觉得这都是一种权衡,需要根据自身的情境去考虑。比如团队的开发习惯,我的团队比较不习惯用scrollview,自然解决方法就会向tableview靠。比如团队技能、学习成本,正如你所说,你的这种方法,需要能熟练使用约束,这就是一种技能要求,一种门槛,会对团队开发、新人融入产生影响。此外,我猜想(因为没有示例代码),你可能封装了某些约束的操作,可能是像对应的View为hidden时,就自动调整高度为0以及和顶上View的间距。否则像“项目定位”、“项目介绍”、“核心竞争力”,“团队介绍”等这种不固定出现的,如果都靠手工判断调整约束去隐藏,显然是很麻烦。如果是有实现这样的封装,那显然实现上也需要时间精力,还要向团队成员传达这种用法,这也是要考虑的因素。对我而言,目前没有这样cell多变而交互又比较多的界面需要处理。我的方法足够解决我遇到的问题,对于增加、删除、调整cell顺序这样的需求变动,修改也在可控范围,并且解决方法也足够简单傻瓜化,团队成员能够快速上手、维护这一块东西,我就“适可而止”,没有必要去设计更通用的方案了。

    复杂界面开发之所思

    今天看到 iOS实现多个可变cell复杂界面的制作 这篇文章,大致看了一下源码。感觉没有真的解决问题,而且局限性很大,不能保证动态行高,性能也不是很好。今天结合我们自己的...

  • 多个tableView我不知道你指的是什么?是像基本信息用一个tableview,评论块用一个tableview这样排列下来?这样的话,因为界面是整体滚动,多个tableview会对滚动处理造成麻烦。还是说,tableview中嵌套tableview,我觉得这样处理也不方便,还是一个tableview解决就好

    iOS实现多个可变cell复杂界面的制作

    在日常的开发中,有时会遇到内容块比较多,且又可变的界面: 这个界面中有些内容块是固定出现的,比如最上面的商品详情图片、商品名称、价格等。而有些内容块则是不一定出现的,比如促销...