首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios
订阅
灰太狼同志
更多收藏集
微信扫码分享
微信
新浪微博
QQ
27篇文章 · 0订阅
iOS 基于 Cocoapods 插件进行组件二进制的探索
目前已知的组件二进制开源方案都是采用 Cocoapods Plugin 的方式实现的,比如说二进制插件 cocoapods-bin,基于插件化能力和 Ruby 语言的一些特性,使它能够很容易的围绕 Cocoapods 的源码来制作。Cocoapods 插件需要使用 Ruby 编…
iOS 组件化 - 私有库创建
索引库好比指针,私有库就好比对象。指针中存放对象的地址,通过地址可以找到对象。 二. 将创建的索引库添加到本地cocoapods仓库 三. 创建模板 四. 将我们自己的代码文件放入指定目录 五. 将制作好的组件上传至GitLab 六. 更改模板文件相关信息 七. 验证 spec…
iOS程序员的自我修养-编译、链接过程(一)
OC是用Clang/LLVM来编译的。接下来我将用clang来展开整个过程。main.m文件源码如下: 平时用Xcode去Build,一键从源码到程序。这个过程中隐藏了预处理、编译、汇编和链接4个过程如下: 处理源代码文件中的以"#"开头的预编译指令。规则如下: "#defin…
一个少女心满满的例子带你入门 Canvas
canvas入门 本文首发于我的个人博客:http://cherryblog.site/ github项目地址:https://github.com/sunshine940326/canvasStar 项目演示地址:https://sunshine940326.github.io…
iOS笔记:进一步认识 ==、isEqual、hash
最近在新接手的项目中进行对象比较,对同一个对象调用isEqual来比较,结果竟然是NO。猜想是对象重写了isEqual方法。查看代码如下: 果然重写了isEqual方法,虽然方法不太严谨,没有首先判断==,代码看起来也什么大问题,但是同一个对象比较也不应该返回NO啊。看了下面一…
iOS之武功秘籍㉒: AFNetworking最新源码解析与面试考点延伸
最近重读了AFNetworking 4.x的源码,算是温故而知新吧.也梳理了一些优秀的代码细节和面试考点,罗列下来,发现这个库小而精致,简直初学者的宝藏库. 先说个题外话,阅读优质的开源代码库,绝对是程序员们快速提升自我的有效途径,而怎样高效率的去阅读源码同样也是一个问题,不知…
iOS列表性能优化之异步绘制|掘金年度征文
一、需求背景1、现状iOS所提供的UIKit框架,其工作基本是在主线程上进行,界面绘制、用户输入响应交互等等。当大量且频繁的绘制任务,以及各种业务逻辑同时放在主线程上完成时,便有可能造成界面卡顿,丢帧
iOS KVO 崩溃防护笔记
最近项目中在做 KVO 防护,因此做了一番研究,本文进行一番简单的记录。 对系统的 KVO 接口进行相关的封装,项目中不使用系统提供的 KVO 接口,而是使用封装后的 KVO 相关接口。 如:KVOController swizzle 系统 KVO 的几个关键函数,做相关的崩溃…
深度理解 NSURLProtocol
NSURLProtocol 是 Foundation 框架中 URL Loading System 的一部分。它可以让开发者可以在不修改应用内原始请求代码的情况下,去改变 URL 加载的全部细节。换句话说,NSURLProtocol 是一个被 Apple 默许的中间人攻击。 虽…
WKWebview秒开实践分享及问题解决方案
背景 作为外汇资讯类的App,查看新闻资讯一直是用户核心需求,也是老板一直说能不能再提高点速度不想看到加载的过程.[如果大家想看基本的简单使用,请绕过,基本学完之后,再次看会有不同的感受的] 在资讯中