ios开发:代理设计模式

代理是一种简单而功能强大的设计模式,这种模式用于一个对象“代表”另外一个对象去做和实现一些东西。 主对象维护一个代理(delegate)的引用并且在合适的时候向这个代理发送消息,这个消息通知“代理”对象即将处理或是已经处理完了某一个事件。这个代理可以通过更新自己或是其它对象的UI界面或是其它状态来响应主对象所发送过来的这个事件的消息。或是在某些情况下能返回一个值来影响其它即将发生的事件该如何来处理...
代理模式 ios开发

iOS开发笔记-swift实现iOS数据持久化之归档

IOS数据持久化的方式分为三种:属性列表 (plist、NSUserDefaults)归档 (NSKeyedArchiver)数据库 (SQLite、Core Data、第三方类库等归档(又名序列化),把对象转为字节码,以文件的形式存储到磁盘上;程序运行过程中或者当再次重写打开程序的时候,可以通过解归档(反序列化)还原这些对象。本文主要介绍swift实现iOS数据归档。归档Foundation框架...
数据持久化 iOS开发

IOS开发之数据sqlite使用

一、引入工具包引入工具包libsqlite3.dylib,该工具包为C语言工具包。二、代码操作数据库1、创建并且链接数据库 -(void)_connectDB{ //1获取沙盒路径作为数据库创建时候的初始化路径 NSString*path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)...
IOS开发 sqlite

iOS开发-CoreMotion框架

CoreMotion是一个专门处理Motion的框架,其中包含了两个部分 加速度计和陀螺仪,在iOS4之前加速度计是由 UIAccelerometer 类来负责采集数据,现在一般都是用CoreMotion来处理加速度过程,不过由于UIAccelerometer比较简单,同样有人在使用。加速计由三个坐标轴决定,用户最常见的操作设备的动作移动,晃动手机(摇一摇),倾斜手机都可以被设备检测到,加速计可以...
iOS开发 CoreMotion框架

iOS开发-清理缓存功能的实现

移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。获取缓存文件的大小由于缓存文件存在沙箱中,我们可以通过NSFileManager API来实现对缓存文件大...
iOS开发 清理缓存

【iOS开发】-NSString的扩展使用

第一:基本数据类型与字符串转换//基本数据类型(intfloat,doublechar)1)基本数据类型—NSString //1.int类型换换成字符串 inta=88; NSString*str1=[NSStringstringWithFormat:@%d,a]; //2.float-NSString floatf=0.8; NSString*str3=[NSStringst...
iOS开发 NSString iOS开发

iOS开发之ARC MRC混编

Xcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编。第一种方式,Edit-Refactor,转换成ARC方式著名的iOS网络框架ASIHTTPRequest就是MRC,我们试试能不能转换成ARC点击Check,我们发现悲剧了多数情况下这种方式都会出错,那该怎么办呢?第二种方式,给编...
iOS开发 ARC MRC

iOS开发之加速计UIAccelerometer

UIAccelerometer在iOS5已经被标记为过期方法,但由于它非常简单,并不影响我们学习使用。在iOS5之后我们可以使用 Core Motion framework加速计有什么用?检测设备的运动应用场景摇一摇计步器加速计的原理检测设备在 X 、 Y 、 Z 轴上的加速度 (哪个方向有力的作用,哪个方向运动了)根据加速度数值,就可以判断出在各个方向上的作用力度加速计的加速度范围为-1到1,因...
UIAccelerometer iOS开发

iOS开发-xCode代码托管到GitHub

xCode默认的是由源代码管理工作Git,Android Studio内置的也有,之前写过两篇关于Window托管Android代码到GitHub的文章,一直想写篇关于Mac上托管代码的到文章,今天终于有时间写写,xCode中默认带有Git这种行为确实很赞,对于习惯于Git的人是非常舒适的,一般打开xCode在第三项可以选择迁出已经存在的项目,因此如果需要修改GitHub上的代码或者是公司协同开发...
xCode GitHub iOS开发

iOS开发-KVC和KVO的理解

KVC和KVO看起来很专业,其实用起来还是比较简单的,KVC(Key-value coding)可以理解为键值对编码,如果对象的基本类型,那么键值对编码实际上和get,set方法没有区别,如果是属性是另外一个对象,那么发现KVC用起来还是非常顺手,KVO(key-value observing)是键值对的观察者模式,如果对象的属性发生变更,那么会触发 observeValueForKeyPath事...
KVC和KVO iOS开发