首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios-oc
订阅
chn_of_CHN
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
iOS底层原理总结 - Category的本质
Category的实现原理,以及Category为什么只能加方法不能加属性。 load、initialize的区别,以及它们在category重写的时候的调用的次序。 首先我们写一段简单的代码,之后的分析都基于这段代码。 我们之前讲到过实例对象的isa指针指向类对象,类对象的i…
iOS 编写高质量Objective-C代码(四)
这几篇文章是小编在钻研《Effective Objective-C 2.0》的知识产出,其中包含作者和小编的观点,以及小编整理的一些demo。希望能帮助大家以简洁的文字快速领悟原作者的精华。 在这里,QiShare团队向原作者Matt Galloway表达诚挚的敬意。 协议(p…
iOS 编写高质量Objective-C代码(三)
选择与公司、工程相关的前缀作为类名的前缀。 为了避免重复引用第三方库带来的冲突,必要时也要为他们加上前缀区分。 在类中提供一个全能初始化方法,并在文档中写明注释。其他的初始化方法全调用此全能初始化方法。 好处:当类的结构发生改变或初始化逻辑发生改变时,只需要改动全能初始化方法即…
iOS 编写高质量Objective-C代码(一)
目前iOS开发主推的官方语言有两种:Objective-C 和 Swift。 今天,小编帮助大家更加熟悉Objective-C,并且聊一聊如何才能编写高质量的OC代码。 谈到Objective-C语言的出现,可要比Java还要早近10年。 Java在1995年推出,而Objec…
iOS 避免常见崩溃(二)
讨论FBKVOController简单使用的过程中,笔者将以观察Person类的name属性为例。 FBKVOController为了使用过程中,避免写错待观察属性,设置了2个宏。 这里的宏使用了逗号表达式。简单说逗号表达式的结果就是最右边的表达式的结果。如(3+5,6+8)的…
iOS 避免常见崩溃(一)
当操作集合类对象的时候,可以使用我们添加的安全取值的分类。 (1)如在NSObject的分类中添加的qi_safeIntegerValue用于替换平时用的integerValue的方法。 更多相关内容,可查看Demo QiSafeType。 安全操作集合类对象,方法交换部分,笔…
iOS 编写高质量Objective-C代码(七)
这几篇文章是小编在钻研《Effective Objective-C 2.0》的知识产出,其中包含作者和小编的观点,以及小编整理的一些demo。希望能帮助大家以简洁的文字快速领悟原作者的精华。 在这里,QiShare团队向原作者Matt Galloway表达诚挚的敬意。 本篇的主…
iOS 编写高质量Objective-C代码(五)
这几篇文章是小编在钻研《Effective Objective-C 2.0》的知识产出,其中包含作者和小编的观点,以及小编整理的一些demo。希望能帮助大家以简洁的文字快速领悟原作者的精华。 在这里,QiShare团队向原作者Matt Galloway表达诚挚的敬意。 本篇的主…
iOS strong和copy的区别
_copyyStr指针指向的地址不再是_originStr的地址。 细心的同学会发现,第三种在赋值的时候用了点语法,而不是直接赋值。 其余完全一样。 当我们用@property来声明属性变量时,编译器会自动为我们生成一个以下划线加属性名命名的实例变量(@synthesize c…
iOS 编写高质量Objective-C代码(六)
这几篇文章是小编在钻研《Effective Objective-C 2.0》的知识产出,其中包含作者和小编的观点,以及小编整理的一些demo。希望能帮助大家以简洁的文字快速领悟原作者的精华。 在这里,QiShare团队向原作者Matt Galloway表达诚挚的敬意。 本篇的主…