ios
文章平均质量分 63
syxFor
难走的路越走越好走
展开
-
fishhook-带你看fishhook源码,如何hook系统自带的C函数
这两天在看戴铭老师的即刻时间的课程,看了一下obj_msgSend的hook,针对于自己看fishhook的一些收货和感悟,和大家分享下,链接在下面。https://www.jianshu.com/p/fa31e76549de...原创 2020-01-20 09:18:03 · 628 阅读 · 0 评论 -
UITableView的相邻cell交换简单动画
实现了上下两个cell交换的简单动效,界面如下,点击上,和上面一个cell交换位置,点击下,和下面一个交换位置,点击删除,就删除当前的cell,完整代码,简单说明一下主要cell交换的代码。UITableViewCell *cell = [_tableView cellForRowAtIndexPath:indexPath];NSIndexPath *nextIndexPath = ...原创 2018-09-11 09:48:30 · 3083 阅读 · 0 评论 -
iOS 属性修饰符atomic并不是绝对安全的
atomic原子性,是否是绝对线程安全的,不是绝对线程安全怎么理解?首先看一下代码以及打印结果@property (atomic, assign) NSInteger intA; //有一个atomic的属性,表示是原子的- (void)viewDidLoad { [super viewDidLoad]; //开启一个线程对intA的值+1 dispatc...原创 2018-09-12 09:10:27 · 2153 阅读 · 0 评论 -
AFNetWorking改为同步请求
之前使用AFN etWorking这个库来做网络请求,一直都是做的异步的,突然有需求需要改成同步的,当时从网上找了一些方法,说使用信号量来做,但是尝试了一些,都不对,最后由于时间关系,同步请求改为了系统的同步请求来实现了需求。后面仔细的去查了一下,原来信号量使用的不对,特此记录一下。 1:先看看系统自带的同步请求是如何发送的NSMutableURLRequest *requ...原创 2018-08-21 20:49:25 · 4500 阅读 · 1 评论 -
OC的消息转发机制
以下是个人对OC里面消息转发流程的理解,如有不正确的地方,欢迎指正。 正常情况下,调用一个对象里面已经存在的方法,能够调用成功,如下@implementation MsgSendViewController- (void)viewDidLoad { [super viewDidLoad]; /** OC里面调用一个方法的过程...原创 2018-07-24 23:43:45 · 775 阅读 · 0 评论 -
KVO原理以及自定义KVO
系统的KVO的用法和现象 有一个KVOModel类,只要一个名字为name的属性,现在要监听name属性的变化,先调用系统的KVO方法来运行,如下 KVOModel *model = [KVOModel new]; model.name = @"1"; NSLog(@"---%@---",object_getClass(model)); /**...原创 2018-07-24 22:53:15 · 373 阅读 · 0 评论 -
Block知识点总结(一)
Block相关的知识点始终都弄的不是很明白,这段时间仔细看了一下,记录一下. 头文件里面block常用的写法 实现文件里面block的写法 ...原创 2018-07-24 22:55:40 · 364 阅读 · 0 评论 -
iOS多线程-gcd篇(一)-对group的补充
上一篇文章记录了gcd的基本知识,上文链接,由于是查看资料,所以比较浅。最近遇到了一个情景:异步的上传多张图片,待所有的图片上传完成最后,才执行一个保存的操作。最开始写的错误代码如下,上传的地方就使用一个异步的线程来代替好了。 看如下代码,通过循环创建了三个异步的任务,分别延时三秒打印当前的下标,我们需要的结果是打印下标完成之后,最后打印group finish,但是打印结果如下:可...原创 2018-06-21 22:25:41 · 337 阅读 · 0 评论 -
method swizzling 笔记(一):未实现方法的方法
最近在研究method swizzing,读到了这一偏文章,原文链接,这篇链接已经说得很清楚了,网上80%的关于对viewWillAppear这个方法的交换的搜索结果,都是在viewWillAppear已经存在的情况下进行的。但是如果想要交换的是一个未实现的方法又是怎么样的呢,链接里面文章说的很清楚,在这里记录一下。 先介绍一下会使用到的几个函数,对这些函数了解的可以直接跳过 ...原创 2018-06-21 22:02:15 · 504 阅读 · 0 评论 -
iOS 打开天猫/淘宝/京东客户端并且进入商品详情页/店铺主页的方法
今天公司的需求说需要在app里面打开手淘/天猫/京东的商品详情页或者是店铺的主页,在网上搜了下,打开天猫和手淘有两种方法,一种是使用阿里百川的SDK完成,这个我还没有去尝试,我总结一下另一种可以打开的方法。我是使用的tablView布局,数据源是dataArray,didSelectRow的点击事件是下面这样的,在手机上安装了对应的app的时候,就可以直接打开到对应的页面,上面shop_id...原创 2018-03-28 21:32:58 · 45112 阅读 · 2 评论 -
SDWebImage源码分析(二)
继续上一篇没有完成的,上一篇的地址。 上一篇说到了从缓存和本地都没有读取到图片的话就从网络中获取图片这一部分,关于上一篇留下的问题"为什么在SDWebImageDownloaderOperation的start方法的start方法最后启用了runloop"的问题,我初步的理解了一下:每一个线程对应着一个运行时,主线程默认有一个运行时,子线程需要手动启动一个runloop,否则子线程需要延...原创 2018-03-20 21:46:05 · 224 阅读 · 0 评论 -
iOS多线程--gcd篇
这几天在看iOS-gcd相关的书籍,做一个简单的总结 1): 队列 分为串行队列和并行队列: dispatch_queue_create("serialQueue",nil),这个方法总共有两个参数,第一个参数是这个队列的名称,第二个参数有两个值可以选择,分别是"DISPATCH_QUEUE_SERIAL","DISPATCH_QUEUE_CONCURRENT",前面一个表...原创 2018-03-24 18:11:54 · 364 阅读 · 0 评论 -
仿途虎的车型选择页面
仿途虎的车型选择页面,可看如下的gif效果,可在我的文档里面下载,源码的github链接原创 2018-03-23 22:22:11 · 3371 阅读 · 2 评论 -
SDWebImage源码分析(-)
本篇文章主要记录自己阅读SDWebImage时,对SDWebImage的理解,如果有不正确的地方,欢迎指正 SDWebImageView获取图片的主要思路是:开始从缓存NSCache里面取,取到了就返回;如果没有取到就从本地磁盘上取,取到了就设置缓存然后返回;如果没有取到就从url路径里面下载。 本文从文件"SDWebImageView+WebCashe.h"说起,这个文件主要是设置...原创 2018-03-19 22:23:39 · 755 阅读 · 0 评论