自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Barrier 性能如何?

在处理容器的多线程问题, 难免会用到加锁的方式来处理, iOS开发中, 锁有以下几种:(1) 自旋锁 OSSpinLock(2) 互斥锁 pthread_mutex, NSLock, @synchronized(3) 读写锁 pthread_rwlock(5) 递归锁 NSRecursiveLock, pthread_mutex(recursive)(6) 信号量 dispat...

2018-09-15 19:54:15 819

转载 初始汇编

计算机能识别的语言是机器语言,即0和1组成的指令,如0001,0111等,这种指令对于我们而言是不可读的,但是它与可编程语言(汇编语言)是一一对应的,每个汇编指令唯一对应于一条机器指令,而且汇编语言对应我们而言是可读的,这样我们从汇编入手,理解系统内核,明白高级语言代码的本质。高级语言运行的流程一般是:汇编语言可以通过编译得到机器语言,机器语言可以通过反汇编得到汇编语言高级语言可以通过编译得到汇编...

2018-07-15 12:05:19 140

原创 iOS 内存泄漏的常见场景

内存泄漏的常见场景CF类型内存注意以creat,copy作为关键字的函数都是需要释放内存的,注意配对使用。比如:CGColorCreate<-->CGColorReleaseMRC内存使用这部分不做详细介绍,也是注意配对使用,需要说明的是,如果代码中有部分文件是MRC的,在已有文件中加代码的时候注意一下,不能都按照ARC的方式处理。ARC内存使用ARC已经为我们做了很多封装,我们不必再...

2018-06-18 18:43:57 421

原创 class_addMethod 简介

BOOL class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, const char * _Nullable types)在runtime.h中定义, 其作用是给一个类添加新的方法及该方法的具体实现.其 返回值为 BOOL 类型, yes表示添加方法成功, no表示添加方法失败.参数介绍/** * A...

2018-06-15 17:08:12 1094

转载 毕业三到五年,别让“努力”毁了你

毕业,就像一个大大的句号,从此,我们告别了一段纯真的青春、一段年少轻狂的岁月、一个充满幻想的时代,纷纷走向了社会。    刚毕业的时候,作为职场新人,我们都拿着接近的薪水,干着相似的事情,大家都过得差不多。    然而三到五年过去了,渐渐大家的差距就出来了。小伙伴A已经成了公司里的技术骨干,带领着自己的小团队,开始参与公司决策的事情;小伙伴B已经在业内小有名气,公众号、知乎、博客上粉丝众多,自己已...

2018-05-31 13:58:14 282

原创 实现 iOS 内存检测工具

在 iOS 开发中 内存泄漏是常见的问题, 这里整理下常用的内存检测方法.一 静态检测方法使用XCode分析功能,Product->Analyze使用静态检测可以检查出一些明显的没有释放的内存,包括NSObject和CF开头的内存泄漏.缺点: 不能检测block导致的内存泄漏问题二 动态检测方法使用 instruments三 dealloc 重新检测重写dealloc 方法, 在界面返回或者...

2018-05-01 17:06:41 1561 2

原创 iOS逆向工具篇

一、安装 MonkeyDev (非越狱调试):非越狱机器或者使用Xcode调试第三方应用的时候有很多集成步骤,注入dylib,集成Reveal(UI分析工具)、class-dump(查看头文件工具)、Cycript(调试器)等等 !一、安装:Cycript地址1. 通过Cycript官网下载相关SDK2. 将解压后的文件直接放在硬盘opt文件夹下:3. 配置相关环境变量:打开终端,编辑.bash_...

2018-04-22 23:42:30 817 2

原创 cocoaPods 开发打包静态库

Cocoapods 开发并打包静态库

2017-10-29 17:30:00 855

原创 git : refusing to merge unrelated histories

fatal: refusing to merge unrelated histories(non-fast-forward)错误解决

2017-10-26 15:35:00 1155

原创 reason: image not found

iOS 错误 reason: image not found 的解决方法

2017-10-24 16:30:07 913

原创 message sent to deallocated instance

[Obj retain] message sent to deallocated instance 错误解决方案

2017-09-24 21:28:28 1895

原创 将本地项目提交github

1.在gitHub 上 new repositories2.进入工程文件所在文件目录,git init3.git add -A (进入文件 添加文件,-A表示添加全部文件)4.git commit -m “提交备注”5.git remote add origin url(该url是你new repositories后的url)6.git pull –rebase origin

2017-09-23 21:55:48 218

原创 WKWebView 初窥-JS交互探究

WKWebView 注入 js 交互

2017-09-18 21:18:02 492

原创 抓包工具Charles的使用

iOS 抓包工具 Charles 的使用

2017-09-17 17:28:44 425

原创 iOS hook delegate (一)

iOS hook delegate

2017-09-09 14:04:30 2642

原创 Return

Return 回归自从找完工作后, 一直忙于毕业相关的事宜, 没有再更新自己的技术博客. 毕业入职后又由于各种原因, 期间也没能写过任何的技术博客, 深感惭愧. 今天在闲娱时刻, 回归本心, 重新开始自己的技术之旅, 加油~

2017-09-09 10:39:44 184

原创 Mac 自定义"终端"快捷键

mac下为终端自定义打开快捷键

2017-03-20 16:47:58 4897 1

原创 GCD内部实现--摘自《iOS与OS X多线程和内存管理》

GCD 内部实现介绍

2016-09-17 15:25:19 904

原创 Add Binary -- leetcode

二进制相加

2016-09-14 16:48:12 300

原创 大数相加和大数相乘

大数操作

2016-09-04 21:22:53 582

原创 Remove Element -- leetcode

数组元素删除

2016-08-31 23:03:13 547

原创 Sqrt(x) -- leetcode

题目描述: Implement int sqrt(int x)

2016-08-30 19:39:33 414

原创 Swap Nodes in Pairs -- leetcode

题目描述: Given a linked list, swap every two adjacent nodes and return its head.

2016-08-30 16:33:07 303

原创 Generate Parentheses -- leetcode

generate Parentheses 生成括号

2016-08-29 15:55:38 393

原创 堆排序

堆排序算法和代码

2016-08-25 15:49:02 268

原创 runtime 实现 归档和解档

runtime 实现 归档和解档

2016-08-11 21:11:49 414

原创 浅析 KVO 内部实现

浅析 KVO

2016-08-01 23:57:21 281

原创 浅析 Get 和 Post 的区别

GET 和 POST 区别

2016-07-28 20:01:06 360

原创 C++实现进制转换

进制转换

2016-07-27 09:54:46 352

原创 UIBlurEffect 毛玻璃特效实现

UIBlurEffect 类和 UIVisualEffectView 类添加毛玻璃特效

2016-07-26 20:55:41 4773

原创 UITableView左滑显示选择

UITableViewRowAction实现UITableViewCell右滑选择

2016-07-26 20:38:34 1200 1

原创 排序算法(OC实现)

基本排序算法

2016-07-26 19:06:50 1030

原创 valid Palindrome -- leetcode

Valid Palindrome -- leetcode字符串回文串

2016-07-19 14:45:24 262

原创 控制器生命周期

控制器生命周期

2016-07-13 21:23:55 335

原创 网络状态监测

Reachability 和 AFNetworking 实现网络状态的监听

2016-07-10 21:10:52 422

原创 XML 数据解析方式

XML 解析

2016-07-05 19:30:14 981

原创 NSURLSession 简介

NSURLSession

2016-07-03 21:39:32 357

原创 Core Animation - 核心动画

Core Animation,核心动画

2016-07-03 17:18:28 480

原创 CALayer 图层简介

CALayer 简介

2016-07-03 16:44:51 326

原创 Quartz 2D简介

Quartz 2D

2016-06-30 21:32:12 285

提示
确定要删除当前文章?
取消 删除