摘要: 一、概念与总结 1、浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。 浅拷贝就是拷贝指向原来对象的指针,使原对象的引用计数+1,可以理解为创建了一个指向原对象的新指针而已,并没有创建一个 阅读全文
posted @ 2017-07-20 20:46 贝克的飞机 阅读(10024) 评论(4) 推荐(3) 编辑
摘要: 讨论Struct与Class之前,我们先来看一个概念:Value Type(值类型),Reference Type(引用类型): 1. 值类型的变量直接包含他们的数据,对于值类型都有他们自己的数据副本,因此对一个变量操作不可能影响另一个变量; 2. 引用类型的变量存储对他们的数据引用,因此后者称为对 阅读全文
posted @ 2018-03-05 14:53 贝克的飞机 阅读(9473) 评论(0) 推荐(1) 编辑
摘要: 本文以自己在公司做的一个手势密码私有库GesturePasswordKit为例说明。 1、在gitlab(或者github,我这里使用的例子是在gitlab上)上创建git仓库 (确保授权正确,避免后续出现权限问题) 2、使用sourcetree 把空仓库clone到本地 3、将准备好的代码拷贝进去 阅读全文
posted @ 2018-01-06 11:38 贝克的飞机 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: 1、 使用现状 NSURLSession是NSURLConnection 的替代者,在2013年苹果全球开发者大会(WWDC2013)随ios7一起发布,是对NSURLConnection进行了重构优化后的新的网络访问接口。从iOS9.0开始, NSURLConnection中发送请求的两个方法已过 阅读全文
posted @ 2017-07-17 17:13 贝克的飞机 阅读(3061) 评论(0) 推荐(0) 编辑
摘要: 一、什么是NSOperation? NSOperation是苹果提供的一套多线程解决方案。实际上NSOperation是基于GCD更高一层的封装,但是比GCD更加的面向对象、代码可读性更高、可控性更强,很屌的是加入了操作依赖。 默认情况下,NSOperation单独使用时只能同步执行操作,并没有开辟 阅读全文
posted @ 2017-07-14 16:26 贝克的飞机 阅读(1005) 评论(2) 推荐(0) 编辑
摘要: 一、NSThread基本概念 NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题。 二、创建、启动线程 1、动态实例化 - 先创建再人工启动 2、静态实例化 - 创建后自启 阅读全文
posted @ 2017-07-13 15:16 贝克的飞机 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 上篇和中篇讲解了什么是GCD,如何使用GCD,这篇文章将讲解使用GCD中将遇到的死锁问题。有兴趣的朋友可以回顾《iOS多线程开发之GCD(上篇)》和《iOS多线程开发之GCD(中篇)》。 言归正传,我们首先来回顾下死锁,所谓死锁: 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源(如数据源, 阅读全文
posted @ 2017-07-10 18:58 贝克的飞机 阅读(3049) 评论(0) 推荐(0) 编辑
摘要: GCD 是一种非常方便的使用多线程的方式。通过使用 GCD,我们可以在确保尽量简单的语法的前提下进行灵活的多线程编程。在 “复杂必死” 的多线程编程中,保持简单就是避免错误的金科玉律。然而,GCD不像NSOperation那样可以调用 -(void)cancel 取消一个操作的执行(注意这里的取消只 阅读全文
posted @ 2017-07-08 15:47 贝克的飞机 阅读(10731) 评论(0) 推荐(0) 编辑
摘要: 前文回顾: 上篇博客讲到GCD的实现是由队列和任务两部分组成,其中获取队列的方式有两种,第一种是通过GCD的API的dispatch_queue_create函数生成Dispatch Queue;第二种是直接使用系统提供的标准Dispatch Queue :Main Dispatch Queue和G 阅读全文
posted @ 2017-07-07 16:36 贝克的飞机 阅读(1438) 评论(0) 推荐(0) 编辑
摘要: 总纲: GCD基本概念 GCD如何实现 GCD如何使用 队列和任务组合 一、GCD基本概念 GCD 全称Grand Central Dispatch(大中枢队列调度),是一套低层API,提供了⼀种新的方法来进⾏并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序 阅读全文
posted @ 2017-07-02 13:29 贝克的飞机 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: UITableView这个iOS开发中永远绕不开的UIView,那么就不可避免的要在多个页面多种场景下反复摩擦UITableView,就算是刚跳进火坑不久的iOS Developer也知道实现UITableView的数据源dataSource和代理delegate,写出一个UITableView也就 阅读全文
posted @ 2017-06-29 10:00 贝克的飞机 阅读(899) 评论(1) 推荐(0) 编辑
摘要: AFNetworking在iOS网络请求第三方库中占据着半壁江山,前段时间将AFNetworking进行了3.0版本的迁移,运用面向对象的设计将代码进行封装整合,这篇文章主要为还在寻找AFNetworking集成代码或者准备3.0迁移的各位童鞋们提供思路,同时自定义了字典模型转换方法,需要的朋友也可 阅读全文
posted @ 2017-06-20 14:21 贝克的飞机 阅读(1180) 评论(2) 推荐(2) 编辑
摘要: 定时器在我们每个人做的iOS项目里面必不可少,如登录页面倒计时、支付期限倒计时等等,一般来说使用NSTimer创建定时器: But 使用NSTimer需要注意一下几点: 1、必须保证有一个活跃的RunLoop。 系统框架提供了几种创建NSTimer的方法,其中以scheduled开头的方法会自动把t 阅读全文
posted @ 2017-06-16 19:34 贝克的飞机 阅读(12238) 评论(0) 推荐(2) 编辑
摘要: 前段时间撸代码猥琐发育的时候,设计师老王给了张截图某宝APP上一个生成长图分享的功能,正好公司有这个需求,于是在立马开始操练起来!在万能的度娘上搜集整理资料后发现很多文章介绍的方案对WKWebView不适用,iOS8.0后的系统基本使用WKWebView加载H5,生成截图是往往后面一段很大的空白,这 阅读全文
posted @ 2017-06-06 15:37 贝克的飞机 阅读(2596) 评论(0) 推荐(0) 编辑