240 发简信
IP属地:上海
  • load方法本身是线程安全的,首先这里不是考虑线程安全,就是怕有自己调用load方法,又换回去了,

    iOS安全防护之二:数组越界

    前言:在release发布之后,会有一些偶发crash是数组越界造成的。其本质原因大多是代码逻辑的错误,如果我们暂时没办法定位问题,也要尽量减少crash的发生,避免影响用户...

  • 复制的代码...一个也没毛病

    iOS安全防护之一:方法找不到

    前言:在程序发版之后,会偶发地出现消息找不到而导致的Crash(unrecognized selector sent to class ),最知名地后台返回null对象。我们...

  • @Scratch官方 可以捕获当时的异常,拿到堆栈信息,拿到数组的数据, 这个捕获的更全面

    iOS安全防护之二:数组越界

    前言:在release发布之后,会有一些偶发crash是数组越界造成的。其本质原因大多是代码逻辑的错误,如果我们暂时没办法定位问题,也要尽量减少crash的发生,避免影响用户...

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

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

  • @Heikki_ 面试官怎么问得,说来听听。一般就问问置空的时机,和怎么置空的,

    weak指针的线程安全和自动置nil的深度探讨

    前言: 请思考两个问题。1. weak指针置为nil是线程安全的吗?问详细点就是:当一个对象正在delloc时,如果在另一个线程获取了weak指针,这时获取weak怎么保证线...

  • 120
    【iOS】weak的底层实现

    weak基本用法 weak是弱引用,用weak描述修饰或者所引用对象的计数器不会加一,并且会在引用的对象被释放的时候自动被设置为nil,大大避免了野指针访问坏内存引起崩溃的情...

  • 咱俩的测试环境不太一样,我是重写delloc 不调用super,同时把您的hook给关掉,这样就调用retainWeakReference这个方法, 如果打开您地hook函数,retainWeakReference这个方法将不在调用

    weak指针的线程安全和自动置nil的深度探讨

    前言: 请思考两个问题。1. weak指针置为nil是线程安全的吗?问详细点就是:当一个对象正在delloc时,如果在另一个线程获取了weak指针,这时获取weak怎么保证线...

个人介绍
iOS开发一枚,相信努力一定有所收获