首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
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…