240 发简信
IP属地:上海
  • 120
    iOS中Assets的几个方便用法

    Assets想必大家都使用过,今天聊几个Assets比较方便的用法。 1.在工程中,某个通用的颜色,我们可能会用宏或者全局变量来表示,这样可以方便大家的使用,但有一个弊端,在...

  • 改成$0即可。$1是取参数列表第2个参数的值,$0才是取参数列表第1个参数的值。

    iOS 国际化开发

    ** 原文发表在:https://www.xiaolei0808.com/2016/04/24/Localized-iOS/[https://www.xiaolei0808....

  • 120
    组件化架构漫谈

    该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93dc4] 前段时间公司项目打算重构,准确来说应该是按之前的产品...

  • iOS 崩溃日志分析

    个人对iOS崩溃日志分析的使用记录。 一、无dsym文件:参考链接: https://www.cnblogs.com/ciml/p/7422872.html#commentf...

  • @欧阳大哥2013 太客气了,下班😄!

    iOS的MVC框架之控制层的构建(下)

    在我的iOS的MVC框架之控制层的构建(上)一文中介绍了一些控制层的构建方法,而这篇文章则继续对一些方法进行展开讨论。MVC被众多开发者所诟病的C层的膨胀,究其原因不外乎有如...

  • @单线程 我看到了,回复下,哈哈。文中写的还是很清楚的:“上面的代码可以看出我们单独建立了一个扩展来定义所有视图属性,并建立了一个分类并且重载loadView来实现视图的建立和布局”。一个拓展来为VC拓展所有视图属性,另外是在VC实现文件中添加了一个专业名称“class-continuation”分类,其实理解为匿名分类就可以了,然后在这个匿名分类去覆写loadView方法。我已经手动实现了,可以访问到_label的。可能你拓展文件的创建方式不对,可以查下怎么给已知类创建拓展文件。

    iOS的MVC框架之控制层的构建(下)

    在我的iOS的MVC框架之控制层的构建(上)一文中介绍了一些控制层的构建方法,而这篇文章则继续对一些方法进行展开讨论。MVC被众多开发者所诟病的C层的膨胀,究其原因不外乎有如...

  • @欧阳大哥2013 我查资料是这样说:在protocol中添加property时,其实就是声明了property的getter 和 setter 方法,在实现这个protocol协议的类中,我们要自己手动添加实例变量,并且需要实现setter/getter方法。我的理解是:①正是这样的protocol定义属性的声明方式,才使得编译期调用self.button不会报错;②运行期归功于OC的运行时机制,由于找不到self.button走消息分发,在forwardingTargetForSelector方法中楼主将XXXXViewControllerView的实例(当前的self.view)作为替代者,实现了转移。补充了一点,请大哥帮忙看下我的理解是否正确?
    此外我还没发现@interface XXXXViewControllerView:UIView<XXXXViewControllerView>中遵从XXXXViewControllerView协议的必要性。XXXXViewControllerView视图类的属性定义和XXXXViewControllerView协议属性定义是一模一样的,但是XXXXViewControllerView视图中系统帮我们自动生产了对应属性的成员变量和其setter、getter方法,XXXXViewControllerView协议并没有。那么这里好像没有遵循XXXXViewControllerView协议的意义,亦或是这里想用该协议定义的属性来校验视图的属性,但是似乎还是说不通。
    还有上次我想问的问题,就是视图对象前添加IBOutlet关键字的用意在哪里,去除掉使用好像也没有问题。
    最后,希望大哥闲暇的时候回复下。有时候问的问题可能比较蠢,但是我想给出一个在这方面有所进阶的人一个个人的思路历程,希望后来看到者能有所启发。谢谢大哥!😄

    iOS的MVC框架之控制层的构建(下)

    在我的iOS的MVC框架之控制层的构建(上)一文中介绍了一些控制层的构建方法,而这篇文章则继续对一些方法进行展开讨论。MVC被众多开发者所诟病的C层的膨胀,究其原因不外乎有如...

  • 添加个回复,哈哈!之前我有问过关于VM层(姑且称作VM层吧)的问题,这里我当时问过大哥,如果使用APIService得到了报文信息和错误信息回调,但是里面的报文信息不足以支持其直接展示到视图上,需要较多的数据处理逻辑,是否可以添加一层VM,以用来添加这些处理逻辑,并给出一个个readonly的属性,然后使用者用VM层的readonly属性直接填充视图;当时没有考虑在这个VM里再添加一个初始化更新方法,倒是有点2。现在看到大哥“视图的更新以及和数据模型的交互”第6种方法“建立中间绑定类”,感觉很不错,基本套路还是一样的,不过多学了半招😄。

    iOS的MVC框架之控制层的构建(下)

    在我的iOS的MVC框架之控制层的构建(上)一文中介绍了一些控制层的构建方法,而这篇文章则继续对一些方法进行展开讨论。MVC被众多开发者所诟病的C层的膨胀,究其原因不外乎有如...

  • 大哥你好,我又回来了,感谢真干货!关于文中“简化控制器中的视图构建”的第二种方案“采用接口和消息转发”已经实践是可行的;但第一种方案“采用分类扩展的方法”提个问题:分类中添加属性,我了解到的应该需要使用到runtime中的关联对象函数去做。文中的写法“_label = label”,其实在分类中_label成员变量系统并未为我们自动生成,如果手动声明变量,并用关联对象函数添加了其set、get方法,成本是否太大?如果不使用的话,有什么其他解决的方案或者我考虑欠缺的地方?还有个小问题,就是视图对象前添加IBOutlet关键字的用意在哪里,去除掉使用好像也没有问题。

    iOS的MVC框架之控制层的构建(下)

    在我的iOS的MVC框架之控制层的构建(上)一文中介绍了一些控制层的构建方法,而这篇文章则继续对一些方法进行展开讨论。MVC被众多开发者所诟病的C层的膨胀,究其原因不外乎有如...

  • @落影loyinglin 是否释放由引用计数决定,weakSelf不持有引用,是不会影响释放的,这句话是正确的,符合内存管理机制。这里不过我个人想说明个人的建议:这里block没有和
    self循环引用,不需要采取weakSelf的方式。其次weakSelf一般要和在block中采用__ strong LYButton *strongSelf = weakSelf(强引用,引用计数+1)的方式联合使用,以预防引用对象比如self可能为nil的风险,而strongSelf由于是block中的自由变量,所以会在block执行完之前自动释放,也就把之前强引用引起的引用计数+1抵消掉。所以在block中采用strongSelf而非weakSelf。还有,block虽然会强引用外部变量的瞬时值,但当weakSelf指向的对象被销毁时,那么为weakSelf也就指向nil。这样情况1、block外只使用weakSelf,结果YES;情况2、block外使用weakSelf,内部使用strongSelf,结果NO;情况3、两者都不用,结果NO。

    iOS面试题----实践向

    前言 很多人都说熟悉UIKit,那对于常见的API是否熟悉?多线程是前端经久不衰的考点。大家对于Block的weak-strong dance都耳熟能详,是否清楚知道每一个引...

  • 120
    iOS形变之CGAffineTransform

    CGAffineTransform介绍 概述 CGAffineTransform是一个用于处理形变的类,其可以改变控件的平移、缩放、旋转等,其坐标系统采用的是二维坐标系,即向...

  • 120
    论MVVM伪框架结构和MVC中M的实现机制

    目录 MVC概论【本文】 模型层设计方法【请参考:http://www.jianshu.com/p/fce02188edec】 控制层的设计方法【请参考:https://ww...

  • 作者你好,在此请教几个问题。我在Service类中回调数据模型对象XXXModel(项目后台多返回Json字典或本地存储,未做逻辑处理)和Error。这里有2个小问题:第一个问题在本页面使用的数据可能是XXXModel的一部分数据的组合或者逻辑处理结果,数据要给View使用,要经过比较多的“表示逻辑”来处理(如果没什么“表示逻辑”处理,那么就直接在Controller里面传给View使用就好了)。问题是这些“表示逻辑”是应该在Service中继续处理,然后赋值给Service类中的实例变量;还是再新建一个ViewModel类将“表示逻辑”处理,赋值给ViewModel类中的实例变量。最后将处理结果经由Controller给View使用。第二个问题由于上述的Service类回调的数据模型对象XXXModel(未做逻辑处理)可能需要接下来使用或作为参数往下传递,我们让Controller、Service或ViewModel哪个类持有好点,还是说有其他的考虑方案?

    论MVVM伪框架结构和MVC中M的实现机制

    目录 MVC概论【本文】 模型层设计方法【请参考:http://www.jianshu.com/p/fce02188edec】 控制层的设计方法【请参考:https://ww...