首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
VanchChen
掘友等级
iOS开发工程师
擅长挖坑
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
31
文章 30
沸点 1
赞
31
返回
|
搜索文章
最新
热门
逐步探究ObjC的Weak技术底层
之前的文章有说过 Atomic 原子操作的原理,其作为一个特殊的修饰前缀,影响了存取操作。 让我们从属性修饰入手,逐步揭开弱引用的面纱。 首先我们先创建一个示例代码文件作为样本。 然后通过 clang -rewrite-objc -fobjc-arc -stdlib=libc+…
Atomic原子操作原理剖析
绝大部分 Objective-C 程序员使用属性时,都不太关注一个特殊的修饰前缀,一般都无脑的使用其非默认缺省的状态,他就是 atomic。 入门教程中一般都建议使用非原子操作,因为新手大部分操作都在主线程,用不到线程安全的特性,大量使用还会降低执行效率。 首先我们研究一下属性…
三种UIScrollView嵌套实现方案
随着产品功能不断的迭代,总会有需求希望在保证不影响其他区域功能的前提下,在某一区域实现根据选择器切换不同的内容显示。 苹果并不推荐嵌套滚动视图,如果直接添加的话,就会出现下图这种情况,手势的冲突造成了体验上的悲剧。 在实际开发中,我也不断的在思考解决方案,经历了几次重构后,有了…
Category探索
Category是Objective-C 2.0之后添加的语言特性,Category的主要作用是为已经存在的类添加方法,一般称为分类,文件名格式是"NSObject+A.h"。 从结构能看出分类可以扩展实例方法列表、类方法列表、协议列表,也支持扩展属性,但不支持扩展成员变量(之…
AssociatedObject关联对象原理实现
关联对象(AssociatedObject)是Objective-C 2.0运行时的一个特性,允许开发者对已经存在的类在扩展中添加自定义的属性。在实际生产过程中,比较常用的方式是给分类(Category)添加成员变量。 通过实现代码可以稍微分析下,objc_getAssocia…
刨根问底KVO原理
KVO( NSKeyValueObserving )是一种监测对象属性值变化的观察者模式机制。其特点是无需事先修改被观察者代码,利用 runtime 实现运行中修改某一实例达到目的,保证了未侵入性。 A对象指定观察B对象的属性后,当属性发生变更,A对象会收到通知,获取变更前以及…
腾讯云Mac图床插件
随着博客越写越多,难免会遇到需要插入图片来说明的情况。 首先调研了市面上的图床服务,本着稳定长期的目标,过滤掉了打一枪换一个地方的野鸡小网站,剩余比较靠谱的优缺点如下。 作为一个刚起步的小博客,应该把精力更多关注于内容,以后再考虑域名备案或者大流量套餐,因此尽量选择免费的图床。…
脚本处理iOS的Crash日志
当我们打包app时,可以选择生成对应的符号表,其保存 16 进制函数地址映射信息,通过给定的函数起始地址和偏移量,可以对应函数具体信息以供分析。 所以我们拿到测试给的闪退日志(.crash)时,需要找到打包时对应生成的符号表(.dSYM)作为钥匙解析。具体分为下面几个步骤 虽然…
初试Shell脚本
临上线前测试比较努力,遇到闪退或者其他问题,会把日志包打给我,由于app内存限制,目前每次打包都是1m大小,所以有时查找问题的上下文比较吃力。同时由于日志比较多,根据关键词过滤的需求越来越重要。 于是决定学写脚本完成这个任务,根据我的要求,工作流程应该是传入压缩包,根据后缀名解…
iOS面试题
本文借鉴整理了iOS高级开发常见的面试题,并且分博客一一分析,希望能和大家一起进步学习。 \12. 为什么在block外部使用__weak修饰的同时需要在内部使用__strong修饰? 面向对象的几个设计原则了解么?最好可以结合场景来说。
下一页
个人成就
文章被点赞
101
文章被阅读
26,178
掘力值
578
关注了
26
关注者
23
收藏集
3
关注标签
6
加入于
2018-12-25