240 发简信
IP属地:陕西
  • 不是alloc计数加1 是你将对象赋值给一个strong变量的时候 执行的objc_storeStrong把技术加1
    例如你的例子Person *p = [[Person alloc] init];
    这里不是alloc加1 而是 = 赋值的时候,可以把这个文件转成汇编一看就知道了 赋值调用了objc_storeStrong

    void
    objc_storeStrong(id *location, id obj)
    {
    id prev = *location;
    if (obj == prev) {
    return;
    }
    objc_retain(obj);
    *location = obj;
    objc_release(prev);
    }

    可能是史上最全面的内存管理文章

    iOS内存管理 概述 什么是内存管理 应用程序内存管理是在程序运行时分配内存(比如创建一个对象,会增加内存占用)与清除内存(比如销毁一个对象,会减少内存占用)的过程 为什么要...

  • 强调强调强调!!!!! 死锁和线程没关系 不是阻塞了线程,而是阻塞了队列,只要看 当前要sync的串行队列 之前正在执行的方法有没有结束。没结束就死锁!!!为啥主队列特殊?无非就是我们最外层的方法在主队列执行呗!!!
    管他嵌套多少层 认清死锁的本质 套在多层一样很好解!!!之前找之前这个队列有没有返回!!!!!

    iOS 多线程:「GCD」详尽总结

    本文首发于我的个人博客:「程序员充电站」[https://itcharge.cn]文章链接:「传送门」[https://itcharge.cn/ios-complete-le...

  • NSCharacterSet 字符集的使用

    1.简介 NSCharacterSet ,以及它的可变类型 NSMutableCharacterSet,用面向对象的方式来表示一组Unicode字符。它经常与NSString...

  • :heart:

    CoreAnimation深入学习的愉快探讨

    CoreAnimation深入学习的愉快探讨 @author imqiuhang 📣前言 If you are writing iOS apps, you are using...

  • iOS WebSocket长链接(Swift)

    WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并...

  • @七堇年华一颗心 权限问题 在这段代码前面加上sudu (PS 应用的这个文件夹的操作都是需要管理员权限的,这个不可能不知道啊)

    Xcode 8 下使用Alcatraz的可行性

    本文要说的是Xcode 8下使用Alcatraz的可能性。我在搜索Xcode 8 下如何使用 Alcatraz 时,搜到了下面一个方案。 具体步骤如下: 从https://g...