240 发简信
IP属地:浙江
  • 按照楼主的思路,用oc重新写了一份,目前发现了一些小问题,在工具里面通过NSUserDefault保存的getter代码在Extension里面取不到啊,主要我是直接用的[NSUserDefaults standardUserDefaults],因为我发现用initWithSuiteName初始化的NSUserDefault为nil,楼主那边可以取到数据吗

    Xcode Source Editor Extension

    用了一段时间Tools for Xcode,感觉生成代码功能挺好用的,很好奇它是如何实现的。搜索一番,最后找到了Source Editor Extension。 此文只是大致...

  • 120
    Xcode Source Editor Extension

    用了一段时间Tools for Xcode,感觉生成代码功能挺好用的,很好奇它是如何实现的。搜索一番,最后找到了Source Editor Extension。 此文只是大致...

  • 120
    [史上最全] iOS Crash/崩溃/异常 捕获

    没想到都2021年,我还得写篇文章来讲讲 Crash 监听的一些事情。虽然蛮多文章讲 Crash 监听这块,但总是讲的不够深入或者说不够全面。于是我想分享一下最近我对这方面知...

  • GetX — Flutter 开发的百宝箱

    前言 GetX 与其说是一个状态管理库,倒不如是是一个简化 Flutter 开发的百宝箱。它提供了很多工具来简化我们的开发,本篇我们先对 GetX 有一个大概的认识,然后接下...

  • UIView渲染机制及绘制方法

    一、drawRect 这个方法是用来重绘的,一般为了降低视图层级,会选择在这里进行绘制。 drawRect在以下情况下会被调用: 如果在UIView初始化时没有设置rect大...

  • 120
    iOS-锁的原理分析(一)

    前言 当我们提到线程时,就会联想到线程不安全,如何保线程安全以及多线程之间数据访问如何保证不出问题呢,带着这些疑问,我们来介绍一下锁的原理。 1 Synchronized的比...

  • 120
    iOS-底层原理 04:NSObject的alloc 源码分析

    iOS 底层原理 文章汇总[https://www.jianshu.com/p/412b20d9a0f6] 主要NSObject中的alloc是与自定义类的alloc的源码流...

  • Linux对内存的管理, 以及page fault的概念

    原文地址: http://blog.scoutapp.com/articles/2015/04/10/understanding-page-faults-and-memory...

  • 120
    ios启动优化:二进制重排

    通过前面的探讨,我们知道内存分页触发中断异常 Page Fault 后,会阻塞进程,这个问题是会对性能产生影响。实际上在 iOS 系统中,生产环境的应用,在发生缺页中断进行重...

  • “系统就会发送 methodSignatureForSelector 消息,如果这个方法返回非空,那么就去执行返回的方法,如果为 nil, 则发送 forwardInvocation 消息。这样就完成整个转发链了。”

    最后这些说明完全是错误的。
    methodSignatureForSelector如果返回空,转发过程结束,直接报错unrecognized selector sent to instance;
    如果返回非空,才会调用forwardInvocation方法。

    建议博主才核对一下。

  • 是的,这里博主的想法是错误的,正确的理解是当调用[super methodSignatureForSelector:selector]后如果返回的是nil,则通过cacheSignatures来获取class列表,从而再进行遍历class列表,看看哪个class可以执行当前的selector,如果有能执行的,就返回signature,这时消息转发流程会走到forwardInvocation中,在这个里面将invocation.target设置为nil,然后执行inovke操作,以这样的处理来避免crash。
    值得一提的是,假如selecor如果是工程内所有类都没有实现过的,即使使用了这个分类,还是会crash的。

    iOS崩溃大扫除—NullSafe解决null崩溃

    什么场景下会遇到null呢? nil/Nil/null/NSNull全解1、解析 JSON 数据时。因为在后端数据库里面,默认数据为 null ,如果修过数据后,又删除,那么...

  • // super是父类 superview是父控件

    博主这句话有问题, 需要更正下,免得误导
    super 编译器指示符,仅仅是一个标志,并不是指针,仅仅是标志的当前对象去调用父类的方法,本质还是当前对象调用, super 还是指向当前实例

  • 120
    iOS开发之--图形上下文以及绘图

    前言:对《iOS开发系列--打造自己的“美图秀秀”》文章做了整理如果对于CGPaht 或CGContextPath有不理解,那么请查:《IOS图形绘制路径 CGPATH & ...