自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 iOS网络HTTP、TCP、UDP、Socket 知识总结

OSI 七层模型  我们一般使用的网络数据传输由下而上共有七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,也被依次称为 OSI 第一层、第二层、⋯⋯、 第七层。如下图: 各层功能简介  1.物理层(Physical Layer)  物理层位于 OSI 参考模型的最低层,它直接面向

2017-04-21 19:06:42 839

转载 TCP/IP笔记(六)TCP与UDP

终于来到了传输层,这个面试问的最多了,内容比较多,要分两篇来总结,这是第一篇

2017-04-21 19:04:07 229

转载 TCP/IP笔记(八)应用层协议

TCP/IP的应用层涵盖了OSI参考模型中第5、第6、第7层的所有功能,不仅包含了管理通信连接的会话层功能、转换数据格式的标识层功能,还包括与对端主机交互的应用层功能在内的所有功能。利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正式应用协议。接下来介绍下应用层常见的协议:DNS:域名系统。DNS是因特网

2017-04-21 19:02:03 401

转载 TCP/IP笔记(七)TCP详解

TCP的特点及其目的为了通过数据包实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复记忆分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。通过序列号与确认应答提高可靠性在TCP中,当发送端的数据到达接收主机时,接收端主机会番号一个已收到消息的通知。这个消息叫做确认应答-

2017-04-21 19:00:21 747

转载 TCP/IP笔记(六)TCP与UDP

终于来到了传输层,这个面试问的最多了,内容比较多,要分两篇来总结,这是第一篇

2017-04-21 18:54:45 192

转载 TCP/IP笔记(五)IP协议相关技术

IP旨在让最终目标主机收到数据包,但是在这一过程中仅仅有IP是无法实现通信的。必须还要有能够解析主机名称和MAC地址功能,以及技术包在发送过程中异常情况处理的功能。这篇主要介绍下DNS、ARP、ICMP、DHCP等协议DNSTCP/IP网络中要求每一个互连的计算机都具有其唯一的IP地址,并基于这个IP地址进行通信。但是IP地址太长了,不好记。人们希望主机有自己自己的名字,这个名

2017-04-21 18:53:46 508

转载 TCP/IP笔记(四)IP协议

前言IP相当于OSI参考模型的第3层--网络层:主要作用是"实现终端节点之间的通信"又称"点对点通信"。IP作为整个TCP/IP中至关重要的协议,主要负责将数据包发送给最终的目标计算机。因此,IP能够让世界上任何两台计算机之间进行通信。数据链路层的作用在于实现同一种数据链路下的包传递,而网络层则可以实现跨越不同数据链路的包传递。主机:配置有IP地址,但是不进行路由控制的设备。

2017-04-21 18:52:33 458

转载 TCP/IP笔记(三)数据链路层

数据链路的作用数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。此外,各个设备之间有时也会通过交换机、网桥、中继器等中转数据。实际上,各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。众所周知,计算机以二级制0、1来表示信息,然而实际的通信媒介之间处理的却是电压的高低、光的闪灭以及光波的强弱等信号。把这些信号

2017-04-21 18:50:42 288

转载 TCP/IP笔记(二)TCP/IP简介

上回,主要介绍了下协议和OSI参考模型,并简单了解下网络构成要素,这回该说说TCP/IP了互联网与TCP/IP的关系  互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而开发定制的协议族。因此,互联网的协议就是TCP/IP,TCP/IP就是互联网的协议。  知道了解TCP/IP的重要性了吧,那就好好看看吧TCP/IP的诞生TCP/IP的标准

2017-04-21 18:49:16 208

转载 TCP/IP笔记(一)网络基础知识

转载地址:http://www.cnblogs.com/dongliu/p/6531659.html计算机与网络发展计算机自诞生伊始,经历了一系列演变与发展。大型通用机计算机、超级计算机、小型机、个人电脑、工作站、便携式电以及现如今的智能手机终端都是这一过程的产物。它们性能逐年增强,价格却逐年下降,机体规模也在逐渐变小。随着计算机的发展,人们不再局限于单机模式,而是将一个个计算机连

2017-04-21 18:47:47 885

转载 Objective-C runtime的常见应用

转载地址:http://www.cnblogs.com/dongliu/p/5435641.html  用Objective-C等面向对象语言编程时,"对象"(object)就是"基本构造单元"(building block)。开发者可以通过对象来存储并传递数据。在对象之间传递数据并执行任务的过程就叫做"消息传递"(Messaging)。当程序运行起来以后,为其提供相关支持的代

2017-04-21 18:41:20 451

转载 UML学习(二)-----类图

原文地址:http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html1、什么是类图  类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。2、类图的元素  在类图中一共包含了以下几种模型元素,分别是:类(Clas

2017-04-21 18:34:49 278

转载 UML学习(一)-----用例图

原文地址:http://www.cnblogs.com/silent2012/archive/2011/09/07/2169518.html1、什么是用例图  用例图源于Jacobson的OOSE方法,用例图是需求分析的产物,描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。它的主要目的就是帮助开发团队以一种可视化的方式理解系统的功能需求,包括

2017-04-21 18:33:14 514

转载 TCP/IP、Http、Socket以及UDP

网络由下往上分为  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。  通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,  三者从本质上来说没有可比性,  socket则是对TCP/IP协议的封装和应用(程序员层面上)。  也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,

2017-04-21 17:50:28 218

原创 GPUImage的集成步骤

我们做滤镜有四种方式:1、iOS8.0以上可以UIVisualEffectView做简单的滤镜2、Accelerate.framework 苹果库,性能最好,有个vImage API3、系统框架Core Image自带的滤镜效果,常用类:CIContext, CIImage, CIFilter Core Image都提供了大量的滤镜(Filter)详情可以通过查看官方文档 Core

2017-04-05 23:13:26 2797

原创 Invalid top-level type in JSON write

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'

2017-03-30 20:32:35 5079

转载 FFmpeg 基本用法

FFmpeg 基本用法本课要解决的问题1.FFmpeg的转码流程是什么?2.常见的视频格式包含哪些内容吗?3.如何把这些内容从视频文件中抽取出来?4.如何从一种格式转换为另一种格式?5.如何放大和缩小视频?6.如何旋转,翻转,填充,裁剪,模糊,锐化视频?7.如何给视频加logo,删除logo?8.如何给视频加文本,动态文本?

2017-03-17 20:47:44 884

转载 iOS CoreGraphics 框架介绍

UIBezierPath是CoreGraphics的封装,使用它可以完成大部分的绘图操作,不过更底层的CoreGraphics更加强大。CoreGraphics,也称为Quartz 2D 是UIKit下的主要绘图系统,频繁的用于绘制自定义视图。Core Graphics是高度集成于UIView和其他UIKit部分的。Core Graphics数据结构和函数可以通过前缀CG来识别。由于像素是

2017-01-03 21:18:36 3546 1

转载 iOS UIBezierPath类介绍

使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中。此类是Core Graphics框架关于path的一个封装。使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。    1.Bezier Path 基础   UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建

2017-01-03 17:38:49 265

转载 Quartz2D绘图 自定义UIImageView控件

iOS开发UI篇—Quartz2D(自定义UIImageView控件)一、实现思路Quartz2D最大的用途在于自定义View(自定义UI控件),当系统的View不能满足我们使用需求的时候,自定义View。使用Quartz2D自定义View,可以从模仿系统的ImageView的使用开始。需求驱动开发:模仿系统的imageview的使用过程1.创建2.设置图片3.

2016-12-28 20:01:36 226

转载 iOS开发UI篇—核心动画(转场动画和组动画)

iOS开发UI篇—核心动画(转场动画和组动画 CATransition/CAAnimationGroup)转:http://www.cnblogs.com/wendingding/p/3801454.html一、转场动画简单介绍CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点UINa

2016-12-28 18:54:53 244

转载 iOS开发UI篇—核心动画(关键帧动画)

iOS开发UI篇—核心动画(关键帧动画CAKeyframeAnimation)一、简单介绍是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值属性解析:

2016-12-28 18:53:11 221

转载 iOS开发UI篇—核心动画(基础动画)

iOS开发UI篇—核心动画(基础动画) CABasicAnimation一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toVa

2016-12-28 18:51:23 162

转载 iOS开发UI篇—核心动画简介

iOS开发UI篇—核心动画简介一、简单介绍Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。Core Animation是跨平台的,可以用在Mac OS X和iOS平台。Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。不

2016-12-28 18:49:46 152

原创 在App中跳转到AppStore下载应用

怎么在App中跳转到AppStore中有2中方法:1.  应用内跳转需要导入头文件:, StoreKit是跟appStore有关的框架;遵守协议     SKStoreProductViewControllerDelegate@interfaceViewController () SKStoreProductViewControllerDelegate>// 创

2016-12-28 16:35:43 489

转载 iOS开发UI篇—CAlayer(自定义layer)

一、第一种方式1.简单说明以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的DrawRect:方法,然后在该方法中画图。绘制图形的步骤:(1)获取上下文(2)绘制图形(3)渲染图形 如果在layer上画东西,与上面的过程类似。代码示例:新建一个类,让该类继承自CALayerYYMylayer.

2016-12-27 13:55:20 164

转载 iOS开发UI篇—CAlayer层的属性

一、position和anchorPoint1.简单介绍CALayer有2个非常重要的属性:position和anchorPoint@property CGPoint position;用来设置CALayer在父层中的位置以父层的左上角为原点(0, 0) @property CGPoint anchorPoint;称为“定位点”、“锚

2016-12-27 11:33:04 130

转载 iOS系统框架概述

iOS操作系统是苹果为公司移动设备提供的操作系统,为方便应用开发者采用了先进的设计模式。采用了经典的MVC设计模式和框架模式。本篇文章我们主要关注iOS系统提供的框架,对MVC设计模式不做过多的描述。我们通常称呼iOS的框架为Cocoa Touch框架,Cocoa Touch是一个框架的集合,里面包含了众多的子框架。每一个子框架都是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的

2016-12-27 11:28:33 381

转载 iOS开发网络篇—监测网络状态

一、说明在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验  WIFI\3G网络:自动下载高清图片  低速网络:只下载缩略图  没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachabi

2016-12-26 16:13:58 275

转载 五个案例让你明白GCD死锁

串行与并行在使用GCD的时候,我们会把需要处理的任务放到Block中,然后将任务追加到相应的队列里面,这个队列,叫做Dispatch Queue。然而,存在于两种Dispatch Queue,一种是要等待上一个执行完,再执行下一个的Serial Dispatch Queue,这叫做串行队列;另一种,则是不需要上一个执行完,就能执行下一个的Concurrent Dispatch Queu

2016-12-22 16:17:10 304

转载 在IOS中为什么使用多线程及多线程实现的三种方法

这篇文章给大家介绍在IOS中为什么使用多线程及多线程实现的三种方法,基本上使用这三种方法实现多线程(NSThread Grand Centeral Dispatch(GCD) NSOperation和NSOperationQueue),感兴趣的朋友可以参考下本篇文章

2016-12-22 13:23:24 315

转载 iOS: 极光推送

之前做过环信和友盟的推送,照着官方文档集成其实挺简单的,今天公司需要,特地做了一下极光推送。不用不知道,原来极光推送集成如此简单,不得不说说了。当然做推送钱需要做一些准备工作了,就是推送必须的p12推送证书:开发环境(开发时测试需要的推送证书)、生产环境(发布到AppStore时需要的推送证书),因为xcode已经升级到了7.0以上,所以一些真机测试的配置文件证书就不需要自己手动去创建了,

2016-12-13 18:18:03 347

转载 iOS集成极光推送,绕过一些坑

最近公司要求把维护期的项目都集成极光推送,集成期间遇到一些小坑,特此在这总结!极光推送能干嘛?1.为 JPush Server 上报 Device Token,免除开发者管理 Device Token 的麻烦2.支持iOS APNs推送3.前台运行时,可接收由JPush下发的(透传的)自定义消息4.灵活管理接收用户:Tag(标签分组)、Alias(用户别名)

2016-12-13 18:15:41 1274

转载 iOS 各种缓存机制的简单介绍

为什么要有缓存应用需要离线工作的主要原因就是改善应用所表现出的性能。将应用内容缓存起来就可以支持离线。我们可以用两种不同的缓存来使应用离线工作。第一种是**按需缓存**,这种情况下应用缓存起请求应答,就和Web浏览器的工作原理一样;第二种是**预缓存**,这种情况是缓存全部内容(或者最近n条记录)以便离线访问。像第14章中开发的Web服务应用利用按需缓存技术来改善可感知的性能而不是

2016-12-08 16:41:41 2393

转载 IOS开发缓存机制之—本地缓存机制

前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制。功能需求这个缓存机制满足下面这些功能。1、可以将数据缓存到本地磁盘。2、可以判断一个资源是否已经被缓存。如果已经被缓存,在请求相同的资源,先到本地磁盘搜索。3、可以判断文件缓存什么时候过期。这里为了简单起见这里,我们在请求url资源的时候,给每次请求的文件设定一个过期的时间。

2016-12-08 14:52:48 346

原创 iOS 开发缓存机制之一内存缓存机制

在iOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制。这篇文章将介绍一下如何在iOS设备中进行缓存,本文先介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多

2016-12-02 19:34:50 252

原创 iOS UIWebView 加载https 站点出现NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL,

今天在加载https站点的时候遇到如下的错误问题。所以对自己之前写的iOS内嵌webview做了一些修改,可以让它加载http站点也可以让它加载https站点、下面是我加载https站点的时候出现的错误。error:    NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomain

2016-10-31 15:47:18 592 1

转载 iOS裁剪UIImage部分不规则区域

效果如下图:    首先,在工程Bundle中加入测试用的图片文件,比如“meteoralp.jpg”。 首先,我们需要把图片展示在界面上。很简单的操作,唯一需要注意的是由于CGContextDrawImage会使用Quartz内以左下角为(0,0)点的坐标系,所以需要使用CGContextTranslateCTM函数和CGContextScaleC

2016-09-27 17:20:08 2157

转载 IOS 核心动画之CAKeyframeAnimation

- IOS 核心动画之CAKeyframeAnimation- 简单介绍是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值- 属性解析:- valu

2016-09-21 17:31:08 212

转载 Core Graphics快速入门

Core Graphics入门想必每个第一次接触Core Graphics的开发者都被无数的API、混乱的代码逻辑折腾得头疼不已,甚至望而却步。即使是绘制一个简单的矩形也看上去非常繁琐。本文换一个角度,整理一下有关Core Graphics的知识,也算作是这段时间学习的总结。Core Graphics和UIKit的区别首先从概念上了解一下:根据苹果的描述,UIK

2016-09-05 16:32:08 245

空空如也

空空如也

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

TA关注的人

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