240 发简信
IP属地:上海
  • 文章是iOS高级编程书中的,比较老了,现在__weak 变量引用时不再去加入自动释放池,而是在变量作用域结束时调用objc_release

    __weak修饰符的实现原理

    在讲__weak修饰符之前,先送上常用的属性描述.属性用于封装数据,而数据则要有"具体的所有权语义".下面的讲解的特质仅会影响"设置方法".编译器在合成存取方法时,会根据这些...

  • 120
    编程探秘之函数

    在进入主题之前,需要提前说明:本文中的函数是广义上的函数,包括纯面向对象语言的中成员函数。文中的例子都是基于C++的,运行环境:64位MacOS Big Sur Xcode ...

  • 120
    FIFO和LIFO自动管理modal控制器

    在一个App中,弹窗一直是一个使用频率较高的提示类控件。苹果对用户体验方面的重视程度有多高,在弹窗的处理上就能体现出这一点来。不知你是否留意过新安装的App上的弹窗显示顺序?...

  • 且不论是否解决问题,这种做法需要每个用到定时器的地方都要写一堆额外代码,不合适

    iOS | 小心NSTimer中的内存泄漏

    NSTimer大家都很熟悉,觉得用起来也很简单。然而,由NSTimer引起的内存泄漏,不经历过一次,一般很难察觉到。下面看一段代码: 上面的代码主要是利用定时器重复执行p_d...

  • @PokerFace_u 看一下代码:
    - (void)dealloc {
    // 务必在当前线程调用invalidate方法,使得Runloop释放对timer的强引用(具体请参阅官方文档)
    [self.timer invalidate];
    }

    iOS | 小心NSTimer中的内存泄漏

    NSTimer大家都很熟悉,觉得用起来也很简单。然而,由NSTimer引起的内存泄漏,不经历过一次,一般很难察觉到。下面看一段代码: 上面的代码主要是利用定时器重复执行p_d...

  • 通过这种方式解决,你返回到上一界面,控制器就释放了,没有谁强引用timer,你再仔细看看

    iOS | 小心NSTimer中的内存泄漏

    NSTimer大家都很熟悉,觉得用起来也很简单。然而,由NSTimer引起的内存泄漏,不经历过一次,一般很难察觉到。下面看一段代码: 上面的代码主要是利用定时器重复执行p_d...

  • @糖糖本尊 右滑返回时,会调用popViewControllerAnimated:方法,你可以在这个方法里做文章

    iOS | 全屏右滑返回详解

    随着手机屏幕的变大,原来右滑返回略显不够人性化,尤其是对手小的朋友,让我如何单手玩手机.对于app要全屏右滑或保持原生边缘触发,各有说辞,这里不讨论其好坏. 下面先看一下实现...

  • viewDidDisappear不止返回上一级页面会调用,在进入下一级页面等情况也会调用。另外,定时器在实际使用中有可能在各种类中,这里放到控制器中只是为了示例一下。

    iOS | 小心NSTimer中的内存泄漏

    NSTimer大家都很熟悉,觉得用起来也很简单。然而,由NSTimer引起的内存泄漏,不经历过一次,一般很难察觉到。下面看一段代码: 上面的代码主要是利用定时器重复执行p_d...

  • 120
    iOS调优 | 深入理解Link Map File

    Link Map File初识 我们编写的源码需要经过编译、链接,最终生成一个可执行文件。在编译阶段,每个类会生成对应的.o文件(目标文件)。在链接阶段,会把.o文件和动态库...

  • atomic是绝对线程安全的,它能保证setter、getter方法安全,atomic的作用在此,它保证的只是属性值是线程安全的,如果属性是一个对象,属性的值即对象的地址,它保证是这个属性的地址值,而不是指向的对象的相关操作,这个命题本身就是伪命题

    iOS atomic 对象是线程不安全的原因以及与 nonatomic 的区别

    网上转载最多的一篇关于atomic的文章《ios atomic nonatomic区别》其中关于讲解atomic的片段如下: atomic真的能保证对象的线程安全?我们看《r...

  • 你可以再看看最后一段,应该就理解了,即便控制器不引用定时器,定时器的不释放也会导致控制器不会释放。

    iOS | 小心NSTimer中的内存泄漏

    NSTimer大家都很熟悉,觉得用起来也很简单。然而,由NSTimer引起的内存泄漏,不经历过一次,一般很难察觉到。下面看一段代码: 上面的代码主要是利用定时器重复执行p_d...

  • JavaScriptCore 使用

    JavaScriptCore JavaScriptCore是webkit的一个重要组成部分,主要是对JS进行解析和提供执行环境。代码是开源的,可以下下来看看(源码)。iOS7...

个人介绍
大道至简,水静流深.做技术,不骄不躁!