iOS深入学习
文章平均质量分 77
JaryPan
keep coding...
展开
-
Instruments使用之初步学习
Instruments是Xcode自带的超级性能检测调试工具,之所以说它超级,是因为Instruments有很多针对性很强的工具分类,废话不多,先看看都有什么吧。是不是很霸气,有17种调试工具,下面咱们简单看一看各个工具的用途:1.Blank(空模板):创建一个空的模板,可以从Library库中添加其他模板;2.Activity Monitor(活动监视原创 2017-03-26 22:23:06 · 718 阅读 · 0 评论 -
iOS多线程技术1 - NSThread的一般用法
NSThread 简介NSThread 是苹果官方提供的面向对象类线程操作技术,简单方便,可以直接操作线程对象,不过需要自己控制线程的生命周期,在平时使用较少。开启线程使用 NSThread 开启线程有类方法和实例方法两种,类方法会直接执行任务,实例方法需要在实例初始化后调用 start 方法才能开始执行任务。类方法创建线程使用类方法创建线程后会自动开始任务,不需要手动开启。类方法创建线...原创 2019-09-13 00:33:23 · 1688 阅读 · 0 评论 -
GCD中dispatch_semaphore(信号量)的使用方法
Dispatch Semaphore(信号量) 是持有计数的信号,该信号是多线程编程中的计数类型信号。信号类似于高速收费站的栏杆,可以通过时抬起栏杆,不可以通过时放下栏杆。在 Dispatch Semaphore 中使用了计数来实现该功能:计数小于 0 时等待,阻塞当前线程。计数为 0 或大于 0 时,唤醒线程,继续执行线程中的代码。Dispatch Semaphore 提供了三种方法来改变信号...原创 2019-09-27 13:16:37 · 2892 阅读 · 0 评论 -
iOS多线程技术3 - GCD的详细用法
多线程的相关概念工欲善其事,必先利其器,在进入 GCD 学习之前,我们有必要先了解一下多线程的一些概念。进程:进程是程序在计算机上的一次执行活动。例如打开一个 app,就开启了一个进程,一个进程可以并发多个线程。线程:线程就是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个线程同一时间只能执行一个任务,平时我们所说的多任务并发实际上是多个线程并发去...原创 2019-09-27 13:45:13 · 1636 阅读 · 0 评论 -
GCD中dispatch_barrier的使用方法
假如现在有几组任务,我们并不关心每组中的各个任务的执行顺序,但是我们要求这几组任务按顺序分批进行,也就是说第一组任务全部执行之后,再启动第二组任务,以此类推。在这种情况下,我们使用 dispatch_barrier 函数将会非常高效,dispatch_barrier 函数又称作栅栏函数,顾名思义,就是像栅栏一样可以把不同任务分开。在下面例子中,我们假设有两组任务,第一组包含任务 1 和任务 2,...原创 2019-09-27 13:37:00 · 2029 阅读 · 0 评论 -
GCD中dispatch_group的使用方法
在实际开发中,我们经常会遇到这样的问题:有几个不同的任务,当所有任务完成后需要根据这些任务的结果去执行下一步操作(例如:下载多张图片,全部下载后进行拼接并显示出来)。我们利用上边刚刚讲过的 dispatch_barrier 方法或许可以达到此类目的,但下边要讲的 dispatch_group 相关方法才更适合解决类似问题。在编写测试代码之前,我们还要了解一下 dispatch_group_not...原创 2019-09-27 13:31:00 · 1755 阅读 · 0 评论 -
GCD中dispatch_apply函数的使用方法
当我们需要进行循环遍历时,例如遍历一个数组,我们一般会使用 For-In 循环,For-In 循环会从数组第一个元素开始依次循环遍历到最后一个元素:NSArray *arr = @[@"a", @"b", @"c", @"d", @"e"]; for (NSString *str in arr) { NSLog(@"str = %@", str);}// 打印:/*2...原创 2019-09-27 13:27:04 · 2096 阅读 · 0 评论 -
Objective-C runtime机制前传2 - Mach-O格式和runtime
在前传1中,我们分析了解了XNU内核所支持的二进制文件格式Mach-O。同时还留了一个小尾巴,就是Mach-O文件中和Objective-C以及runtime相关的Segment section。今天,就来了解一下它们。OC之源起我们知道,程序的入口点在iOS中被称之为main函数:#import <UIKit/UIKit.h>#import "AppDelegate.h"...转载 2019-09-08 01:14:26 · 1525 阅读 · 0 评论 -
Objective-C runtime机制前传1 - Mach-O格式
原文地址:https://blog.csdn.net/u013378438/article/details/80353267Mach-OMach-O是Mach Object文件格式的缩写。它是用于可执行文件,动态库,目标代码的文件格式。作为a.out格式的替代,Mach-O格式提供了更强的扩展性,以及更快的符号表信息访问速度。Mach-O格式为大部分基于Mach内核的操作系统所使用的,包括N...转载 2019-09-08 00:47:10 · 1553 阅读 · 0 评论 -
Instruments使用之使用Leaks检测内存泄漏
上一篇文章我介绍了Instruments的工具分类和基本使用方法,今天我再来给大家说说Leaks的使用方法。在早期的iOS开发中,并没有ARC模式,只有MRC模式,必须由开发人员自己管理内存,过程非常繁琐而且容易造成内存泄漏,如今的iOS开发虽然基本都是用的ARC模式,但是有些情况下还是需要我们自己来管理内存,稍有不慎,就可能造成内存泄漏,所以,使用一款内存泄漏的检测工具还是非常有必要的。原创 2017-03-27 20:24:16 · 1350 阅读 · 0 评论 -
iOS多线程技术2 - NSOperation和NSOperationQueue的详细用法
NSOperation 和 NSOperationQueue 是苹果提供的一套多线程解决方案,是基于 GCD 的封装,完全面向对象,代码可读性较高。NSOperationNSOperation 是一个抽象类,并不具备封装操作的能力,用作父类用来约束子类,要想封装操作,必须使用它的子类。我们可以使用系统提供的两个子类 NSBlockOperation 和 NSInvocationOperati...原创 2019-09-16 22:36:18 · 1716 阅读 · 0 评论