• C++对象模型及性能优化杂谈一

    一直想记录点这方面的知识,后续内容一部分来自深度探索C++对象模型,一部分来自C++性能优化指南;像那些(More)Effective C++、Effective STL、(...

  • 120
    深入解构objc_msgSend函数的实现

    阅读本文后你将会进一步了解Runtime的实现,享元设计模式的实践,内存数据存储优化,编译内存屏障,多线程无锁读写实现,垃圾回收等相关的技术点。 objc_class(Cla...

  • 120
    iOS开源界面布局库终于破3000star

    经过几年的打磨和多次的重构,我的iOS开源界面布局库MyLayout的star数量终于在2018年8月6号破3000了!有图为证: 还有Swift版本TangramKit: ...

  • @L_m__ 这个问题不需要这么绝对,在一定程度上cell是可以持有数据model的。如果这个数据model就只是专职为这个cell服务,那么持有他也是没有问题。毕竟这个cell的布局和数据更新事实是要依赖于这个mode的吗。

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

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

  • 作者对pthread的认识太浅显了,要知道你下面说的所有高级线程对象,队列,以及gcd中的线程池,最终都是交由pthread 的api 来实现的。你讲的都是上层建筑,pthread 才是线程实现的根基和根本。

    关于iOS多线程,你看我就够了

    在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文...

  • 子视图有一个viewcompeleteblock属性能获取

    iOS下的界面布局利器-MyLayout布局框架

    Swift:TangramKit: https://github.com/youngsoft/TangramKit OC:MyLayout: https://github.c...

  • 排列组合

    排列(n>=r) 对有n个元素的集合S中的其中r个元素进行排列(n >= r)可以用如下几种方法来理解: 排列描述1 每次从n个元素中取r个元素出来,那么一共有C(n,r)种...

  • @大灰很 感谢关注!有的 只是最近时间比较忙.

    深入iOS系统底层之CPU寄存器介绍

    一弹指六十刹那,一刹那九百生灭。 --《仁王经》 组件 计算机是一种数据处理设备,它由CPU和内存以及外部设备组成。CPU负责数据处理,内存负责存储,外部设备负责数据的输入和...

  • 您的代码是: B.topPos.equalTo(A.bottomPos).offset(20); 吗?而且您还有另外一个视图C的topPos依赖于B的bottomPos对吗?所以您认为隐藏了B后,觉得C应该在A的下面而不再有20的间隔对吧。
    目前的设计就是这样的,会有20的间距。可以想象一下正常情况下B距离A有20的间隔,而C又是在B的下面的,因此如果将B隐藏后其实可以理解为B是不存在的,而是变为了C距离A有20的间隔,相当于把C顶上去了。

    iOS下的界面布局利器-MyLayout布局框架

    Swift:TangramKit: https://github.com/youngsoft/TangramKit OC:MyLayout: https://github.c...

  • @好尴尬11 是的,很可惜包括很多人也是这样认为的,以为MVVM就一定要和响应式混合起来才够高大上,包括美团目前在建设的框架也是如此。 响应式包括函数式以及常规的编程思想就如算 1 + 1 一样,常规的写法是: 1+1, 响应式的写法是: 1 - (-1)

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

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

  • @ZJCoder 这个没有标准,看个人的设计喜好了,传字典的话可扩展性高,但是设置和使用时因为没有标准所以可能会出错。而设计为对象的话,后续有参数增加就要更改对象结构比如增加属性等等。各有各好。

    iOS的MVC框架之模型层的构建

    这篇文章是论MVVM伪框架结构和MVC中M的实现机制的姊妹篇。在前面的文章中更多介绍的是一些理论性质的东西,一些小伙伴在评论中也说希望有一些具体设计实践的例子,以及对一些问题...

  • 老兄在写这篇文章时是否记得把一些参考的链接也写上会更好吧。

    iOS Xcode 的汇编模式切换

    //联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 QQ群:807236138 群称:iOS 技术交流学习群 一、概念 1.汇编指令 : 模拟器上运行的是Int...

  • @小蚊子叮迎行 正解

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

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

  • @walreal @walreal 这个问题问的非常的专业:+1:。其实我也一直在思考这个,当时在研究加载时没有深入的去说明而是做了一个忽略。不过根据我的猜测:就是所有image的加载其实是在内核态完成的,这样的目的是为了在进程之间能够共享动态库的单份内存实例。所以dyld 以及其他库中调用的函数的符号binding. 应该在内核态就完成了。当切换到用户态时的初始化就如我文章中所描述的一些用户态的初始化,以及rebase 和其他处理。另外我还看到在bootstrap::start函数内部有对dyld库进行了rebase 的动作。 当然这个只是我的猜测。我也后续会将这部分进行补充来解决你的疑惑和我自己的疑惑。

    深入解构iOS系统下的全局对象和初始化函数

    神奇的崩溃事件 事件源于接入了一个第三方库导致应用出现了大量的crash记录,很奇怪的是这么多的crash居然没有收到用户的反馈信息! 在这个过程中每个崩溃栈的信息都明确的指...

  • @sindri的小巢 过奖了。

    深入解构iOS系统下的全局对象和初始化函数

    神奇的崩溃事件 事件源于接入了一个第三方库导致应用出现了大量的crash记录,很奇怪的是这么多的crash居然没有收到用户的反馈信息! 在这个过程中每个崩溃栈的信息都明确的指...

个人介绍
坚持原创,以造轮子为乐。目前就职于美团•点评