首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
hejunm
掘友等级
iOS developer
iOS
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
35
文章 25
沸点 10
赞
35
返回
|
搜索文章
最新
热门
iOS 使用NSMethodSignature和 NSInvocation进行 method 或 block的调用
一个实例对象可以通过三种方式调用其方法。 type1和type2是我们常用的,这里不在赘述,我们来说说type3。 NSMethodSignature用于描述method的类型信息:返回值类型,及每个参数的类型。 可以通过下面的方式进行创建: 使用NSObject的实例方法和…
iOS Cache 整理
使用swift3.0编写。这个比较简单,实现了内存缓存和文件缓存(一个key对应一个文件)。都是同步执行。可以设置缓存时间(时长或者日期),需要手动调用才会清除缓存。 PINCache可以进行内存缓存和磁盘缓存。 磁盘缓存使用的是文件。线程安全的。其多线程实现挺复杂的,很厉害的…
Alamofire源码剖析
在功能角度,Alamofire是一个http请求框架。使用它可以很方便的处理http请求(请求数据,下载,上传)。 在代码实现角度,Alamofire是对NSURLSession的封装。 在语言角度可以理解为Alamofire是AFNetworking的Swift实现(它们出自…
如何使用__block 与 __weak
1. block默认会拷贝局部变量的值 (1)block默认会拷贝局部变量的值,block中的局部变量不可修改。 (2)当某局部变量使用 __block 进行修饰时,此局部变量在block中不会产生copy。 (3)当局部变量是指针类型时,你可以在block中使用这个局部变量,…
iOS轮子: 下拉刷新,上拉加载更多
HERefresh是一个类簇。它维护着一个状态机,能过通过监听UIScrollView的contentOffset属性确定当前pullToRefresh组件应该切换到什么状态(说的简单,实现时考虑的东西还是挺多的)。然后根据具体状态对UI进行相应操作(通过调用HERefresh…
iOS高效调试
1. 打印 最简单,基础的调试方法就是打印日志了。贴出两段封装好的日志打印代码: 2. 断点 普通断点是调试中最常使用的。当程序运行到断点处就会暂停运行。其设置方法非常简单:在需要设置断点的代码行的左侧单击即可。 条件断点是在普通断点的基础上添加了判断条件。当程序执行到断点处,…
iOS高仿爱鲜蜂
1. 新手引导页: 首次使用app时显示。 2. 广告:使用动画修改缩放比例和透明度,产生过度效果。 3. 首页:轮播图,商品集合,添加商品到购物车(有添加动画)。点击商品进入商品详情页,点击轮播图等加载对应的网页。在NavigationBar中包含扫一扫,搜索,选择收货地址i…
iOS Aspects源码剖析
本博文基于 v1.4.2 版本源码进行分析。 Aspect是在Runtime的基础上构建的。在学习Aspect前,你需要搞清楚下面的概念: ###1. NSMethodSignature 和 NSInvocation 使用NSMethodSignature 和 NSInvoca…
iOS method swizzling
通过 method swizzling这种黑科技,你可以改变selector和方法实现的映射关系。 此时当执行[objc selectorC]时,实际调用的是 IMPn指针指向的函数。
iOS自定义 Transitions 动画总结
(1) 对被present的控制器设置transitioning代理对象 secondViewController.transitioningDelegate = presentationController; presentationController是实现协议UIView…
下一页
个人成就
文章被点赞
164
文章被阅读
62,808
掘力值
1,113
关注了
23
关注者
335
收藏集
1
关注标签
5
加入于
2017-05-21