首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
OC底层
订阅
Bingo就是我52096
更多收藏集
微信扫码分享
微信
新浪微博
QQ
31篇文章 · 0订阅
你真的能写好一个单例么?
单例可能是 iOS 开发者最熟悉设计模式之一了。 我们的项目里头也使用了很多单例😓。 最近为了解决项目中单例的 bug 而花费了两天多的时间,发现用 ObjC 写好一个单例真的不容易! 可能大部分人的单例都是这么实现的, 貌似也没啥问题,通过[SingletonClass s…
iOS底层原理总结--instance、class、meta-calss对象的isa和superclass
... instance对象就是通过类alloc出来的对象,每次调用alloc都会产生新的instance对象。 isa指针(所有的实例对象都有的。) 其他成员变量。 答: 因为所有的OC类都是继承自NSObject,所以每一个集成的类都包含NSObject里面所包含的isa。…
Blocks的实现
Blocks的原理,每当自己对知识体系有一定提升之后,再回过头来看一下曾经读过的书籍,会发现对它的理解逐步加深。借着读书笔记活动,立个小目标,把Block彻底搞明白,重读《Objective-C高级编程 iOS与OS X多线程和内存管理》第二章节block原理部分,一方面给自己…
聊聊iOS开发中的AutoreleasePool
可见__AtAutoreleasePool是一个C++结构体,在C++中结构体类似我们iOS中的“类”这个概念,结构体里面有两个与结构体同名的函数__AtAutoreleasePool()、 ~__AtAutoreleasePool()分别称之为构造函数和析构函数,他们分别在结…
链式编程思想
编程思想在iOS的应用中大概有那么几类,我们最常用的当属于面向对象的编程思想,一切皆对象,基于这种思想离不开的就是我们最常用的封装、继承、多态。平时工作中我们也会接触一些面向协议的编程思想,比如说接口分离解耦合,再比如说我们最常用的delegate都是面向协议的思想,还有就是基…
从汇编代码探究 NSClassFromString 实现
近日遇到一个诡异的问题(后续更新),于是探究了 Runtime 中 Class 的一些细节。该探索过程以 NSClassFromString 为入口,因而需要知道它的具体实现来得到一条严谨的线索。本文则记录了该次探究过程中对 NSClassFromString 的调研,从其汇编…
由 NSObject *obj = [[NSObject alloc] init] 引发的一二事儿
这行代码中写有两个 NSObject ,但他们表示的意思是不一样的。 等号左边表示:创建了一个 NSObject 类型的指针 obj 。(开辟一个 NSObject 类型大小的内存空间,并用指针变量 obj 指向它) 等号右边表示:调用 NSObject 对象的类方法 allo…
如何防止修改readonly修饰的属性值
对于readonly修饰的属性还是可以通过KVC修改的。 重写自定义类的“accessInstanceVariablesDirectly”方法,让其返回值为NO。
iOS拾遗—— Assets Catalogs 与 I/O 优化
早在 XCode 5,苹果引入了 Assets Catalogs ,它作为一个重要的开发组件,能够让开发者可以更方便的管理项目内的图片资源。 那么相比直接存储在根目录下,究竟 Assets Catalogs 有什么自己独特的优势呢?在 WWDC 2016 上提到的 I/O 优化…
手摸手带你玩转Xcode Extensions
事情是这样的前段时间看到,E神写了个新玩具叫Code Friend很酷炫,私下里给E神说拿来推广让iOSTips的读者体验一番,E神说目前功能还不完善,等再牛逼一点再拿来分享,然后就有了接下来的分享。 今天就带来一款Xcode扩展XcodeWay解放你的双手,让你不再重复劳动,…