首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
你到底要我起啥名
更多收藏集
微信扫码分享
微信
新浪微博
QQ
29篇文章 · 0订阅
AutoreleasePool的实现
在MRC中,调用[obj autorelease]来延迟内存的释放;在ARC下,对象调用autorelease方法,就会被自动添加到最近的自动释放池,只有当自动释放池被销毁的时候,才会执行release方法,进行释放。真实结果到底是什么,等看完源码后我们就会知道了。 @auto…
C 语言结构体内存布局问题
C语言结构体内存布局是一个老生常谈的问题,网上也看了一些资料,有些说的比较模糊,有些是错误的。本人借鉴了前人的文章,经过实践,总结了一些规则,如有错误,希望指正,不胜感激。 影响结构体内存布局有位域和**#pragma pack预处理宏**两个情况,下面分情况说明。 结构体变量…
Objective-C 的消息转发
消息在OC中方法调用是一个消息发送的过程。OC方法最终被生成为C函数,并带有一些额外的参数。这个C函数objc_msgSend就负责消息发送。在<objc/message.h>中能找到它的API。 检测这个 selector 的 target 是不是nil,OC允许我们对一个n…
Atomic原子操作原理剖析
绝大部分 Objective-C 程序员使用属性时,都不太关注一个特殊的修饰前缀,一般都无脑的使用其非默认缺省的状态,他就是 atomic。 入门教程中一般都建议使用非原子操作,因为新手大部分操作都在主线程,用不到线程安全的特性,大量使用还会降低执行效率。 首先我们研究一下属性…
出一套 iOS 高级面试题
一千个读者眼中有一千个哈姆雷特,一千名 iOS 程序员心目中就有一千套 iOS 高级面试题。本文就是笔者认为可以用来面试高级 iOS 程序员的面试题。 这套题的题目跟公司和业务都没有关系,而且也并不代表笔者本人可以把这些题回答得非常好,笔者只是将一部分觉得比较好的题从收集的面试…
iOS系统的底层通知框架库
观察者模式是一种用于解耦一系列需要相互协作的类之间进行通信的对象行为模式。它定义了对象之间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。观察者模式的实现一般分为两个步骤:消费者注册通知消息监听器、生产者发送通知消息。 iOS系统提供了多种对…
iOS源码解析: NotificationCenter是如何实现的?
本文从源码角度对iOS中的通知进行了解析,并对通知中心的一些特性进行了相应的解读。 NSNotification理所当然要包含通知name、object,且使用userInfo用于传递参数。 这里封装了一个结构体Name,而非直接使用字符串。所以,我们通常使用的话,需要这样写 …
「一劳永逸」一张脑图带你掌握Git命令
最近在网易工作之余,遇到Git上面一些问题,趁这次的机会,补一补Git基础知识。 公众号前端UpUp,回复Git,即可获取脑图。 本文更多梳理的是Git常用命令,非原理篇,需要这部分知识的可以往下看。 当我们使用git管理文件时,比如git init时,这个时候,会多一个.gi…
认真理解iOS开发中HTTPS协议的用法
网上有很多类似文章, 但我发现其中多少有一些致命错误和误解, 本文是我经过测试,翻看权威源码之后写出的, 尽量把程序在做什么个写明白. 本文的主角就是下面这个方法, 他属于NSURLSessionDelegate协议的, 至于古老版本的HTTPS相关接口就不说了.(NSURLS…
由 HTTPS 理解 iOS 代码签名
平时在做 Android 开发的同时,偶尔做做 iOS 开发,同样是代码签名,Android 并不需要向 Google 申请什么证书,但对于 iOS APP 来说,需要向 Apple 申请证书,为了生成证书,又要生成公钥和私钥,我对这个流程一直搞不清,为什么需要这些证书,这些证…