240 发简信
IP属地:广东
  • 120
    【IOS开发进阶系列】动画专题

    1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 ...

  • 120
    iOS事件处理分析

    该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93dc4] 好久没写博客了,前后算起来刚好有一年了。这期间博客也...

  • 120
    升级Flutter提示Your Xcode project requires migration

    今天在升级Flutter后在vscode运行报错: 在Xcode(v11.4.1)里运行倒是没有问题...... 想到之前flutter升级时: 直接终端:flutter u...

  • 说的很详细,第四种带block方法是iOS10 之后苹果推出的用来防止循环引用的,用weakSelf解决的是block的强引用问题,另外不管是用中间代理解决timer对Tardet的循环引用还是用block,都要让timer调用invalidate方法,解除runloop的强引用

    如何正确的使用NSTimer

    最近在复习iOS中NSTimer的知识,有一些新的收获,因此记录下来。 废话不多说,先来看看timer最常用的写法。 这里的TimerViewController是从上一个控...

  • 楼主分析的特别好,另外我还发现:
    1、iOS 10后苹果新增了block方法防止循环引用:- (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block,思路应该跟楼主说的一样。
    2、即使用YYWeakProxy或者block防止了循环引用,但是如果忘记调用[_timer invalidate]; timer还会在一直执行,所以我们应当确保每一次viewcontroller消失或释放时,手动对timer进行暂停。

  • 120
    iOS开发技巧系列---详解KVC(我告诉你KVC的一切)

    KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或...

  • 120
    iOS开发 KVO探寻

    目录1.什么是KVO?2.KVO实现原理3.通过KVC设置value值KVO能否生效?4.通过成员变量直接赋值KVO能否生效? 1.什么是KVO KVO (Key-Value...

  • iOS关联对象的源码探究

    本文探究问题:- 怎么通过关联对象为分类category添加成员变量?- 添加的成员变量被存储在哪了? 1.为分类(category)添加成员变量 我们都知道直接往分类中添加...

  • iOS分类(Catagory)底层源码分析

    说明:本文涉及到runtime源码(objc4-756.2)中的objc-runtime-new.h/objc-runtime-new.mm文件. 首先来看category数...

  • 120
    献给写作者的 Markdown 新手指南

    「简书」作为一款「写作软件」在诞生之初就支持了 Markdown,Markdown 是一种「电子邮件」风格的「标记语言」,我们强烈推荐所有写作者学习和掌握该语言。为什么?可以...

  • ios 确保单例对象的唯一性

    之前创建单例是使用下面的方式: 这种方式创建的单例,如果外部使用了alloc方法来创建实例,或者copy方法拷贝了单例实例,那么就无法确保对象的唯一性,因此需要重写alloc...