自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

转载 什么是单元测试

百度百科 对于单元测试 的定义 如下单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元...

2019-01-30 16:04:24 11377 1

转载 iOS开发网络篇—发送GET和POST请求(使用NSURLSession)

说明:该文主要介绍如何使用NSURLSession来发送GET请求和POST请求 本文示例代码发送的请求均为http请求,已经对info.plist文件进行配置。如何配置,请参考:https://github.com/HanGangAndHanMeimei/iOS9AdaptationTips 本文示例代码,可以在下面的地址获取:https://github.com/HanGangAndH...

2019-01-29 15:37:32 1600

转载 iOS开发网络学习(1.网络)

一.网络基础 1 网络基础 001网络编程 (1)网络编程是一种实时更新应用数据的常用手段 (2)网络编程是开发优秀网络应用的前提和基础 002 网络基本概念 2-1 客户端(就是手机或者ipad等手持设备上面的APP) 2-2 服务器(远程服务器-本地服务器) 2-3 请求(客户端索要数据的方式) ...

2019-01-29 14:32:28 245

转载 iOS-常见三种加密(MD5、非对称加密,对称加密)

一、哈希HASH1.MD5加密MD5加密的特点:不可逆运算对不同的数据加密的结果是定长的32位字符(不管文件多大都一样)对相同的数据加密,得到的结果是一样的(也就是复制)。抗修改性 : 信息“指纹”,对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别.弱抗碰撞 : 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的...

2019-01-24 15:59:45 738

转载 iOS 系统框架学习(1.系统框架的四个层级)

 一 整体框架iOS的整体系统框架图如下图所示,iOS的系统架构主要由Application Layer(应用层)、Cocoa Touch Layer(触摸层)、Media Layer (媒体层)、Core Services Layer(核心服务层)、Core OS Layer (核心系统操作层)和The Kernel and Device Drivers layer(内核和驱动层)。...

2019-01-23 15:01:48 1393

转载 KVC的实现原理以及日常使用方式

简介KVC是Key Value Coding的简称。它是一种可以通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。KVC的方法定义在Foundation/NSKeyValueCoding中。KVC使用的基本方法- (nullableid)valueForKey:(NSString*)key;//直接通过Key来取值- (void)set...

2019-01-22 14:06:13 1015

转载 RunLoop 初识(2.逻辑流程以及实际应用)

RunLoop 相关逻辑流程上图是笔者从网上找到的一张 RunLoop 运行的相关流程逻辑图。具体来说主要执行逻辑是这样的:1、通知观察者 RunLoop 已经启动。 2、通知观察者即将要开始定时器。 3、通知观察者任何即将启动的非基于端口的源。 4、启动任何准备好的非基于端口的源(Source0)。 5、如果基于端口的源(Source1)准备好并处于等待状态,进入步骤9。 ...

2019-01-21 14:36:57 179

转载 RunLoop 初识(1.基本概念以及基本认识)

一、RunLoop 简介1.1 RunLoop 基本概念一个线程一次只能执行一个任务,执行完成后线程就会退出。RunLoop 机制能让线程随时处理事件但并不退出。这里说的随时是指:程序需要运行时就保持程序的持续运行,不需要的时候就进入休眠状态。NSRunLoop 和 CFRunLoopRef 都是和RunLoop 机制相关的类。CFRunLoopRef 基于 CoreFoundatio...

2019-01-19 14:04:23 166

转载 Runtime初识(4.基本应用)

关联对象(Objective-C Associated Objects)给分类增加属性我们都是知道分类是不能自定义属性和变量的。下面通过关联对象实现给分类添加属性。关联对象Runtime提供了下面几个接口://关联对象void objc_setAssociatedObject(id object, const void *key, id value, objc_Associatio...

2019-01-18 17:21:42 109

转载 Runtime初识(3.消息转发)

Runtime消息传递一个对象的方法像这样[obj foo],编译器转成消息发送objc_msgSend(obj, foo),Runtime时执行的流程是这样的:首先,通过obj的isa指针找到它的 class ; 在 class 的 method list 找 foo ; 如果 class 中没到 foo,继续往它的 superclass 中找 ; 一旦找到 foo 这个函数,就去...

2019-01-17 12:03:12 102

原创 Socket、Websocket

讲到socket与 websocket 首先要讲软件通信过程 软件通信有七层结构(osi模型)中由协议套协议最终组成最高级应用层协议(http等等),下三层结构偏向与数据通信,上三层更偏向于数据处理,中间的传输层则是连接上三层与下三层之间的桥梁,每一层都做不同的工作,上层协议依赖与下层协议。七层结构的最主要功能就是帮助不同系统的主机在不同的网络中进行数据传输。数据传输层:tcp、udp协议,tcp...

2019-01-16 09:27:18 166

原创 简述UDP、TCP/IP、HTTP

下面是协议层从底层至顶层的一个模型图: OSI七层协议模型一、UDPUDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报...

2019-01-15 17:57:28 587

转载 Runtime初识(2.了解Runtime相关术语的数据结构)

SEL它是selector在 Objc 中的表示(Swift 中是 Selector 类)。selector 是方法选择器,其实作用就和名字一样,日常生活中,我们通过人名辨别谁是谁,注意 Objc 在相同的类中不会有命名相同的两个方法。selector 对方法名进行包装,以便找到对应的方法实现。它的数据结构是:typedef struct objc_selector *SEL;我们可...

2019-01-14 14:11:36 149

原创 Runtime初识(1.基本定义)

简介Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。它会将一些工作放在代码运行时才处理而并非编译时。也就是说,有很多类和成员变量在我们编译的时是不知道的,而在运行时,我们所编写的代码会转换成完整的确定的代码运行。因此,编译器是不够的,我们还需要一个运行时系统(Runtime system)来处理编...

2019-01-13 17:23:06 127

翻译 iOS常用下拉刷新上拉加载库MJRefresh使用说明

简介项目主页地址:MJRefresh项目下载地址:点击下载适用范围:可用于常见控件 UIScrollView、UITableView、UICollectionView、UIWebView 实现上拉刷新和下拉加载的效果。ARC iOS>=6.0 iPhone \ iPad screen anyway加入项目方式:CocoaPods安装:pod 'MJRefresh'...

2019-01-12 14:26:29 2402

原创 iOS 代码上传到远程码云私有库

创建远程私有库前,我们已经创建了本地私有库。本文将主要讲述本地私有库如何推送到远程。创建远程私有库可以放到GitHub或者码云,因为GitHub是收费的码云是可以免费创建私有库的,下面以码云为例创建私有库,并将本地库推送到远程。参考:iOS 本地私有库的创建以及使用流程打开码云第一步打开码云:https://gitee.com/projects/new创建私有库注意:仓库名称LYD...

2019-01-11 21:22:26 739

原创 iOS 本地私有库的创建以及使用流程

iOS开发运用Pod 创建本地私有库第一步创建一个Lib文件用于维护仓库模块源码打开终端切换到Lib文件下,执行如下指令,clone GitHub上的仓库框架模板,然后依次回答对应的问题,之后Xcode会自动打开克隆下的Demo项目pod lib create LYDKitWhat platform do you want to use?? [ iOS / macOS ] ...

2019-01-10 13:38:22 782

转载 iOS 跳转至系统设置页面整理以及绕过审核的跳转方法

示例:项目里面有扫码功能,当用户第一次扫码—选择不允许访问相机,再次使用扫码APP就需要引导用户到系统的相机页面开启相机权限。类似的功能还有定位、录音、蓝牙、相册等,这些功能都需要给用户提示/引导。根据上述情况,市场上的App有两种做法:不做跳转,给用户提示; 给用户提示,并做跳转,引导用户到设置界面;  总述:iOS10之前可以进入系统设置的子页面iOS11之后不允许跳...

2019-01-09 11:42:04 7586 1

转载 PerformSelector 和多线程的关系

PerformSelector 相关- (id)performSelector:(SEL)aSelector;- (id)performSelector:(SEL)aSelector withObject:(id)object;- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object...

2019-01-08 16:49:30 910 1

原创 iOS开发与H5交互的整理总结

UIWebView delegate 协议方法//UIWebView自带了一个方法, 可以直接调用JS代码(转化为string类型的js代码) - (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script; //例如修改id为‘html’标签内部的text属性 [web stringB...

2019-01-07 14:01:22 1325

原创 iOS开发中block的写法简单整理

约定:用法中的符号含义列举如下: return_type表示返回的对象/关键字等(可以是void,并省略) blockName表示block的名称 var_type表示参数的类型(可以是void,并省略) varName表示参数名称 1.1 Block声明及定义语法,及其变形(1) 标准声明与定义return_type (^blockName)(v...

2019-01-05 17:49:44 7621

原创 property修饰符copy、weak等具体讲解

property属性修饰符经常的用法当我们定义一个字符串属性时,通常我们会这样写:@property (nonatomic, copy) NSString *name;当我们定义一个NSMutableArray类型的属性时,通常我们会这样写:@property (nonatomic, strong) NSMutableArray *books;而当我们定一个基本数据类型...

2019-01-04 21:53:41 666

原创 iOS内存分区学习浅析

所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。内存分区示意图内存分类(RAM、ROM)RAM(random access memory)运行内存CPU可以直接访问,读写速度非常快,但是不...

2019-01-03 22:19:11 519

转载 Python3基本数据类型

Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。Python 3中有六个标准的数据类型:Numbers(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionaries(字典)Numbers(数...

2019-01-02 11:40:39 80

原创 iOS 多线程简单整理NSThread、GCD、NSOperation

iOS Pthreads 和 NSThreadPthreads:可以在Unix / Linux / Windows 等系统跨平台使用,使用 C 语言编写,需要程序员自己管理线程的生命周期,使用难度较大NSThread:是苹果官方提供的,使用起来比 pthread 更加面向对象,简单易用,可以直接操作线程对象。不过也需要需要程序员自己管理线程的生命周期(主要是创建),运用OC语言。//使...

2019-01-01 19:58:56 213

转载 iOS开发 UI实现的三种动画

一、首尾式动画代码示例:// beginAnimations表示此后的代码要“参与到”动画中    [UIView beginAnimations:nil context:nil];//设置动画时长    [UIView setAnimationDuration:2.0];          self.headImageView.bounds = rect;

2015-11-21 15:53:35 187

麦肯锡问题分析与解决技巧

麦肯锡问题分析与解决技巧(原版书籍),全书为原书籍电子扫描版本。

2018-11-12

心形霓虹灯iOS代码

iOS培训课堂实际记录,心形霓虹灯, 跑马灯素材。

2015-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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