首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Aizen103386
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
block使用修饰符
block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用。block是OC对象。 通过clang编译,我们可以看到block的内存布局,就是一个结构体,里面包含一个我么熟悉的isa指针,显然就是一个oc对象。它的底层结构就是: 在ARC环境下,…
关键字 weak
weak 的常见场景是在delegate,block,NSTimer中使用,以避免循环引用所带来的内存泄漏。 weak表其实是一个哈希表,key是所指对象的指针,value是weak指针的地址数组。(value是数组的原因是:因为一个对象可能被多个弱引用指针指向) Runtim…
RunLoop应用
NSTimer在线程中将不影响主线程操作。 NSTimer的运行基于RunLoop,主线程[NSTimer scheduledTimerWithTimeInterval:target: selector: userInfo: repeats:]方法会自动加入runloop中。 …
RunLoop原理
程序会进入do...while循环,处理事件的循环。在没有消息处理时,会进入休眠表面资源占用。 RunLoop处理消息的流程是“接收消息->恢复活跃->处理消息->进入休眠”。 RunLoop指的是NSRunloop或者CFRunLoopRef,CFRunLoopRef是纯C的…
Autoreleasepool
Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。 第一个 Observer 监视的事件是 Entry(即将进入…
iOS生命周期
程序在前台运行,不过没有接收到事件。 一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电、有未读短信等)事件的时候。 程序在前台运行而且接收到了事件。这也是前台…
深拷贝和浅拷贝
指针地址,数据地址,数据非容器不可变对象浅拷贝不开辟新内存,数据不可变深拷贝开辟新内存,数据可变非容器可变对象浅拷贝开辟新内存,数据不可变深拷贝开辟新内存,数据可变#容器非可变对象浅拷贝不开辟新内存,
个人成就
文章被阅读
3,917
掘力值
97
关注了
1
关注者
1
收藏集
0
关注标签
3
加入于
2019-11-20