首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
阿蒙1994
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
Stinger--实践实现特定实例对象的AOP
在 iOS完整实践: 使用Libffi实现AOP 一文中,我们介绍了实现AOP的一种方式,通过解析目标方法的签名,使用ffi_prep_cif和ffi_prep_closure_loc构造壳函数替换原函数实现,以感知原方法调用时机及捕获参数,最后通过ffi_call利用预生成的…
iOS 组件通信方案
阅读本篇文章以前,假设你已经了解了组件化这个概念。 最近两年移动端的组件化特别火,但移动端组件化的概念追其溯源应该来自于Server端,具体来说这种概念应该是由Java的Spring框架带来的。 Spring最初是想替代笨重的EJB,在版本演进过程中又提供了诸如AOP、DI、I…
[译]过去一个月最 🔥 的 10 个 Swift 开源项目
在过去的一个月里,我们对近 200 个 Swift 开源项目进行排名,从中挑出最火的十个。 在此期间,我们对比了项目的新功能和主要版本。 Mybridge AI 根据各种因素对项目进行排名,以衡量项目的专业质量。 在 Github 上查看 Swift Top 10 开源项目。 …
Flutter上阵,一套代码、多端运行的梦想,也许就要实现了
“小步快跑、快速迭代”的开发大环境下,“一套代码、多端运行”可以说是很多技术团队的梦想。为了这个梦想,我曾考察过很多跨平台开发框架,比如 React Native、Weex、PWA 等等,但是因为各种原因,放弃了。 直到2018年12月5日,谷歌公开发布 Flutter 1.0…
React Native 多环境配置
通常,App 开发、部署会涉及多个环境,譬如开发、测试、预发布、生产等环境。为了避免打错包,我们需要使用科学的方法来切换环境。 按照下图指引,分别 Duplicate "Debug" Configuration 和 Duplicate "Release" Configurati…
UIView中frame属性的内部实现
UIView中用于表征视图在父视图中显示出来的位置和尺寸的属性是frame。 同时系统还提供另外两个属性center和bounds。其中center属性值描述视图的中心点在父视图中的位置,而bounds属性的size部分则描述视图本身固有的尺寸。需要注意的是bounds属性中的…
iOS 组件化 使用cocoapods集成实战演练
之前写过一篇 iOS 组件化实现的一些思路总结 ,这篇作为续集,聊一聊使用 Cocoapods 在iOS平台组件化的实现和集成。 本文中的两个例子可以在 YTThirdPlatformManager 项目中找到。 Cocoapods 是iOS/osx平台的开发库管理工具,简单的…
使用 libffi 实现 AOP
众所周知,使用runtime的提供的接口,我们可以设定原方法的IMP,或交换原方法和目标方法的IMP,以完全代替原方法的实现,或为原实现前后相当于加一段额外的代码。 使用知名的AOP库 Aspects ,可以更便捷地为原方法实现前后增加(代替)额外的执行。 另外,Aspects…
AsyncDisplayKit介绍(一)原理和思路
UITableView/UICollectionView的优化一直是iOS应用性能优化重要的一块。即使是iOS10+iPhone7这样的最新软硬件配置,在系统的信息app中滚动,仔细观察的话仍然能感到一定的掉帧现象。对于UI要求苛刻的苹果竟然在如此简单的tableView上无法…
iOS 短信验证码倒计时按钮
短信验证码登录在app中十分常见,相对于账号+密码的登录方式,短信验证码登录既免去了用户记忆密码的繁琐,也在很大程度上降低了密码泄露的风险。但是,对app运营方来说,每发一条短信就会支付相对应的短信费,所以,为了防止恶意频繁访问,在设计发送短信验证码接口时会加上限制逻辑。比如,…