首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
oc
订阅
easycodesniper
更多收藏集
微信扫码分享
微信
新浪微博
QQ
26篇文章 · 0订阅
iOS Runtime详解
我们从下面几个方面探寻Runtime的实现机制。 Runtime其实有两个版本: “modern” 和 “legacy”。我们现在用的 Objective-C 2.0 采用的是现行 (Modern) 版的 Runtime 系统,只能运行在 iOS 和 macOS 10.5 之后…
iOS多线程:『GCD』详尽总结
什么是 『GCD』 ?我们先来看看百度百科的解释简单了解下相关概念。 程序员只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。
CABasicAnimation相关的duration及实现动画串行效果
介绍了CABasicAnimation的一些基本属性及简单使用方法。 CAAnimationGroup的duration(代号groupDuration)对其animations的动画的duration(代号subDuration)有影响。 CAAnimationGroup.d…
[iOS]一次高效的依赖注入
01. 问题场景 最简单的主项目依赖第三方 pods。 组件依赖第三方 pods,主项目再依赖组件。 这种单向的依赖关系,决定了从组件到项目的通讯是单向的,即主项目可以主动向组件发起通讯,但是组件却没有办法主动和主项目通讯。 你可能说不对,可以发通知啊?是的,是可以发通知,但是…
还在用JSON? Google Protocol Buffers 更快更小 (原理篇)
随手记客户端与服务端交互的过程中,对部分数据的传输大小和效率有较高的要求,普通的数据格式如 JSON 或者 XML 已经不能满足,因此决定采用 Google 推出的 Protocol Buffers 以达到数据高效传输。 Protocol buffers 为 Google 提出…
优雅的使用UITableView(OC 上)
这似乎没有什么问题,代码很干净,逻辑也比较清晰。 但是你维护几个版本之后,或者遇到了一个善变的产品经理。 你会发现,这样的代码维护起来真的很危险,稍微一不注意就出错了,这里用的type作为判断条件可能相较与indexPath要好一点。 。。。。 维护的东西越多,意味着你出错的概…
iOS开发_非完全指南之TableView的使用
1. TableView 简介 3. UITableViewCell 的四种样式 2. UITableViewCell 重用原理 UITableView,重新显示到窗口中,从而邂免创建新对象。 1. 设置每行展示及行数 2. 处理列表的点击事件 3. 左滑删除某一行的数据 4.…
iOS架构实践干货:AOP替代基类 + MVVM + ReactiveObjC + JLRoutes组件化
对于第一点,从 集成成本 ,上手成本 ,__架构维护成本__等因素入手,大神博客中也已经很详细。 框架不需要通过继承即能够对ViewController进行统一配置。业务即使脱离环境,也能够跑完代码,ViewController一旦放入框架环境,不需要添加额外的或者只需添加少量…
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
iOS底层原理总结 - Category的本质
Category的实现原理,以及Category为什么只能加方法不能加属性。 load、initialize的区别,以及它们在category重写的时候的调用的次序。 首先我们写一段简单的代码,之后的分析都基于这段代码。 我们之前讲到过实例对象的isa指针指向类对象,类对象的i…