首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
同学46504
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
32
文章 32
沸点 0
赞
32
返回
|
搜索文章
赞
文章( 32 )
沸点( 0 )
ios runtime之Method Swizzling及其应用场景
最近对一些ios的apm系统比较感兴趣,所以就研究了一些相关的技术。首先从最基本的Method Swizzling开始。 Method Swizzling是OC runtime提供的一种动态替换方法实现的技术,我们利用它可以替换系统或者我们自定义类的方法实现,进而达到我们的特殊…
大规模重构——重写 Instagram Feed 的经验之谈
在 Instagram 团队重写他们全新的 iOS Feed 的过程中,他们积累了大量的经验,遇到的坑无疑已经超出了他们的预料,比如说集合视图、差异化 (Diffing) 以及冗长代码所带来的危险之处。在本次 try! Swift 讲演之中,Ryan Nystrom 向我们分享了
iOS 推送(苹果原生态)
推送对App的重要性不言而喻,是每一个iOS开发者必修的技能。网上的资料对于初学者并不友好(至少对于我来说),其中有许多坑。并且由于要配置证书,只能真机调试等,学起来更是难上加难。这篇文章是从刚开始接触推送的起点写起。最近有点忙,有些地方没有细究,只是暂时知道了能实现什么,并且…
iOS 避免单例滥用
我们似乎以前已经达成了共识,“单例模式很好用,但不能滥用”。但是在Apple和第三方Swift框架中开发人员还在大量的使用它。 今天我们看一下单例使用的确切问题,并探索如何避免滥用。 我认为有两个原因。首先最主要原因是Apple内部都在经常使用它,大家就会把苹果的做法当成“最佳…
阅读Kingfisher源码的一些收获
1. 命名空间的使用 Kingfisher命名空间有2种方式,一种是使用协议加上包装器,另一种是把类型定义在枚举里。参考协议KingfisherCompatible和类型public enum MemoryStorage {},一个是空协议,扩展了一个kf计算属性,但kf里又有…
⚠️2019年iOS面试反思总结--不断更新当中ing⚠️
👏欢迎前往本人的GitHub查看更多内容。点击前往GitHub 2019年的夏天,成都的天气格外的闷热。 因为公司的原因,导致我不得不考虑去面试一家稳定成熟的大公司,自己从一开始也一直梦想着进入一家可以得到广阔平台的公司发展,有朝一日可以当上技术负责人,可是现实总是那么残酷,…
为什么Objective-C的消息转发要设计三个阶段?
下面我们就通过详细解读每个阶段来回答开篇提出的问题。 有些情况下,你希望能够为一个方法动态地提供实现。例如,Objective-C中可以将一个属性声明为@dynamic 这样你就告诉编译器,与这个属性相关联的setter和getter方法会被动态添加。编译器就不会自动为你创建s…
AFNetworking底层源码解析
AFNetworking是适用于iOS,macOS,watchOS和tvOS的的网络库。它构建于Foundation URL系统之上,扩展了Cocoa内置的强大的高级网络抽象。它采用模块化架构,设计精良,功能丰富的API,使用起来非常简单。本文重点介绍缓存和安全两个模块; 二.…
如何实现一个手帐 app
小时候,我是一个手抄报爱好者,四年级的时候班里组织了一个手抄报比赛,老师要求每位同学利用周末的时间做一份手抄报进行评比,主题自选。到现在我印象还非常深刻的是,我想了一个中午都不知道要选什么主题,在白纸上画了一些东西后又全都擦掉了,弄脏了好几张纸,最后画出了一个地球,思路就慢慢打…
iOS中用到的数据结构_哈希表
哈希表(hash table,也叫散列表),是根据键(key)直接访问访问在内存储存位置的数据结构。 哈希表的关键思想是使用哈希函数将键映射到存储桶。更确切地说, 当我们想要搜索一个键时,哈希表将使用相同的哈希函数来查找对应的桶,并只在特定的桶中进行搜索。 weak表采用的…
下一页
关注了
70
关注者
2
收藏集
2
关注标签
16
加入于
2018-05-30