iOS GCD(一)
创建 //全局队列,一个并行的队列dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)//主队列,主线程中的唯一队列,一...
创建 //全局队列,一个并行的队列dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)//主队列,主线程中的唯一队列,一...
试想一下假如你是一台手机
+ (instancetype)sharedInstance {static <#Class Name#> *instance = nil;static dispatch_once_t onceToken;dispatch_on...
1.__block和__weak修饰符的区别: 1.__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。 2.__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰...
方法一,通过控制器继承或分类实现: 在UITabBarController 的子类或分类中实现 1 - (BOOL)shouldAutorotate {2 return [self.selectedViewController should...
ios地图与定位的简单使用 实现地图、导航功能,往往需要先熟悉定位功能,在iOS中通过Core Location框架进行定位操作。Core Location自身可以单独使用,和地图开发框架MapKit完全是独立的,但是往往地图开发要配合定位...
前言: 每一个技术都是一种问题的解决思路和方案,所以学习一个技术的时候,首先要去思考一下这个技术是基于什么样的问题场景下产生的,这样才能对该技术的特点以及应用有比较好的理解; Runloop 的出现是为了解决什么样的问题: 每一个应...
1.在cell里,.h写一个Block. @property (nonatomic,copy)void(^telephoneBlock)();2. 在cell里,.m写一个点点击事件. – (IBAction)didclickP...
iOS OC类原理二 前言: 1. `cache_t cache LLDB` 简单分析 2.`cache_t cache` 流程源码分析 `cache_fill_nolock`详细流程: 前言: 上一篇探索了 属性 成员变量 方法 在 类 ...
有时候我们会有这样的需求:分别异步执行2个耗时任务,然后当2个耗时任务都执行完毕后再回到主线程执行任务。这时候我们可以用到 GCD 的队列组。使用场景: 同时上传多个图片,所有图片上传完成之后去请求服务器上传图片地址。 dispatch_g...