自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Focus Now

Code Changes World - 越努力 越优秀 越独立 越自由

  • 博客(50)
  • 收藏
  • 关注

原创 玩转iOS开发 - JSON 和 Xml 数据解析

前言Json 和xml是网络开发中常用的数据格式,JSON轻量级,xml相对较复杂,所以现在用JSON的比例非常大,基本上从服务器获取的返回数据都是JSON格式的,作为iOS开发者,解析JSON, XML文件是网络开发最基本的一步,不扯蛋了,直接进入正题。JSON解析JSON介绍 JSON 本质上,就是一个”特殊格式”的字符串JSON 是网络上用来传输数据使用最广泛的数据格式,没有之一JSON

2015-06-08 17:48:53 5897

原创 玩转iOS开发 - 简易的实现2种抽屉效果

BeautyDrawerBeautyDrawer 是一款简单易用的抽屉效果实现框架,集成的属性可以对view 滑动缩放进行控制。Main features三个视图,主视图可以左右滑动,实现抽屉效果应用框架接口的内置参数属性可以对view的滑动速度,偏移度,和缩放比例进行设置简单易用DemonstrationRequirementsiOS 6.0+ Xcode 6.1.1Installa

2015-06-08 17:39:39 5676 1

原创 有两个数组a,b,大小都为n,;通过交换a,b中的元素,使sum(a)-sum(b)最小

问题说明有两个数组a,b,大小都为n,数组元素的值任意整形数,无序; 要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小。算法分析当前数组a和数组b的和之差为A = sum(a) - sum(b)a的第i个元素和b的第j个元素交换后,a和b的和之差为A' = sum(a) - a[i] + b[j] - (sum(b) - b[j] + a[i]) = su

2015-06-24 23:06:00 1470 2

原创 项目 - 下拉自动弹出搜索框

项目介绍下面要实现一个集成下拉弹出搜索框并支持中英文搜索的框架演示主要功能:下拉时搜索框自动弹出,没有进行搜索操作,两秒后自动隐身上拉、点击屏幕或点击cancer按钮时搜索框隐藏支持中英文搜索实现下拉弹出 上拉隐藏上拉下拉的操作都是通过UIscrollView的代理方法进行监听// 开始滑动tableView时调用- (void)scrollViewWillBeginDragging:(U

2015-06-14 10:48:34 4845

转载 AFNetworking解析-1

AFNetworking 是当前 iOS 和 OS X 开发中最广泛使用的开源项目之一。它帮助了成千上万叫好又叫座的应用,也为其它出色的开源库提供了基础。这个项目是社区里最活跃、最有影响力的项目之一,拥有 8700 个 star、2200 个 fork 和 130 名贡献者。从各方面来看,AFNetworking 几乎已经成为主流。但你有没有听说过它的新版呢? AFNetworking 2.0。声明

2015-06-10 23:30:13 759

原创 玩转iOS开发 - 数据缓存

Why Cache有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的。上面的情况会造成以下问题 (1)用户流量的浪费 (2)程序响应速度不够快解决上面的问题,一般考虑对数据进行缓存。数据缓存为了提高程序的响应速度,可以考虑使用缓存(内存缓存\硬盘缓存)r 第一次请求数据时,内存缓存中没有数据,硬盘缓存中没有数

2015-06-09 22:49:40 2589 2

原创 XMPP 简介

一、即时通讯简单介绍1、简单说明即时通讯技术(IM)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容有许多的IM系统,如AOL IM、Yahoo IM、 MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个

2015-06-09 15:57:24 760

原创 iOS开发必备技能 - 自动布局在开发中的应用

最近发了很多主题,将在这两天根据多年开发笔记进行整理,敬请期待!

2015-06-09 09:54:10 790

原创 玩转iOS开发 - Runloop 详解

Runloop 详解

2015-06-08 18:03:47 3462

原创 玩转iOS开发 - 多线程开发

前言本文主要介绍iOS多线程开发中使用的主要技术:NSOperation, GCD, NSThread, pthread。 内容按照开发中的优先推荐使用的顺序进行介绍,涉及多线程底层知识比较多的NSThread, pthread 放到了后面,建议小伙伴们先看目录,根据自己的需求来阅读。NSOperation简介 使用NSOperation和NSOperationQueue能简单高效的实现多线程编

2015-06-08 17:58:13 3367

原创 玩转iOS开发 - 消息推送

消息推送

2015-06-08 17:53:22 3014

原创 玩转iOS开发 - SVN 和 Git 使用详解

SVN 和 Git 使用详解

2015-06-08 17:50:21 3325

原创 玩转iOS开发 - 网络请求

网络请求

2015-06-08 17:50:14 3249

原创 玩转iOS开发 - 视图控制器生命周期

视图控制器生命周期

2015-06-08 17:47:48 3040

原创 网络加密

Base64参考网站:http://zh.wikipedia.org/wiki/Base64简介是网络上使用最广泛的编码系统,能够将任何二进制数据,转换成只有 65 个字符组成的文本文件 a~z,A~Z,0~9,+,/,= Base 64 编码后的结果能够反算,不够安全 Base 64 是所有现代加密算法的基础算法终端命令# 将 10.jpg 进行 base64 编码,生成 10.

2015-06-07 22:38:39 2255 3

原创 IOS开发-通知与消息机制

在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情。iOS中通知机制又叫消息机制,其包括两类:一类是本地通知;另一类是推送通知,也叫远程通知。两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同。今天就和大家一块去看一下如何在iOS中实现

2015-06-07 21:47:13 5327

原创 IOS开发 - KVC 和 KVO

IOS开发 - KVC 和 KVO

2015-06-07 21:47:09 5594

原创 IOS开发-四种常用设计模式

IOS开发-四种常用设计模式

2015-06-07 21:44:02 5963 2

原创 IOS开发-加载本地音乐

IOS开发-加载本地音乐

2015-06-07 21:42:20 6146 1

转载 IOS开发-提升app性能的25条建议和技巧

本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的限制,有时

2015-06-07 21:39:34 12487

原创 玩转 IOS 开发 - block 使用详解

Block 是iOS在4.0之后新增的程式语法,在iOS SDK 4.0之后,block应用几乎无处不在。在其他语言中也有类似的概念称做闭包(closure),比如object C的好兄弟swift 中闭包(swift 闭包详解)的使用跟 OC的block一样重要。总的来说: Block是C语言的 Block是一个数据类型 Block 是一个提前准备好的代码,在需要的时候执行1.

2015-06-05 23:07:33 18794 2

转载 SDWebImage 源码剖析

1. 概述SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能: 提供UIImageView的一个分类,以支持网络图片的加载与缓存管理 一个异步的图片加载器 一个异步的内存+磁盘图片缓存 支持GIF图片 支持WebP图片 后台图片解压缩处理 确保同一个URL的图片不被下载多次

2015-06-05 01:18:43 5750

原创 IOS开发-指纹识别

1. 简介iPhone 5S 开始支持iOS 8.0 开放了 Touch ID 的接口2. 代码准备- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self inputUserinfo];}/// 输入用户信息- (void)inputUserinfo { UIAlertView *a

2015-06-04 23:06:47 7153

原创 IOS 运行时(runtime)机制

1. 概述OC 是一个全动态语言,OC 的一切都是基于 Runtime 实现的 只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法`2. 运行时机制运行时机制是用 C++ 开发的,是一套苹果开源的框架 OC 是基于运行时开发的语言3. 应用场景运行时动态获取类的属性 主要应用:字典转模型框架 MJExtension,JSONModel利用 关联对象 为分类添加属性 利用

2015-06-04 21:07:25 6276

原创 GitBook 配置说明

GitBook 配置说明1> 下载并安装 npmnode-v0.12.0.pkg http://nodejs.org/download/2> 安装 gitbook$ sudo npm install gitbook-cli -g3> 进入终端 cd 到新建的电子书目录$ touch SUMMARY.md$ gitbook init

2015-06-04 09:14:15 7128

原创 网络抓包神器-Charles使用指南

1.概述Charles是目前最强大的http调试工具,在界面和功能上远胜于Fiddler,同时是全平台支持,这么好用的软件可惜就是收费的,网上是有破解版的Charles,学习交流可下载。2.安装首先需要下载java的运行环境支持。装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册的jar文件,然后注册后就可以永久使用了(ps:不注册的话,每次使用3

2015-06-03 10:51:25 77382 3

原创 终端下SQLite的使用

1. 安装sqlite3 ubuntu下安装sqlite3直接在终端运行命令: #apt-get installsqlite3 查看版本信息: #sqlite3 -version2. 终端下sqlite3常用命令 当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,sqlite>为前缀标识,跟linux系统的$相同: #sqlit

2015-06-02 14:41:37 7490

原创 SQLite 使用介绍

1. SQLite IntroductionSQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事务、数据表和索引等。事实上,尽管SQLite拥有诸多关系型数据库的基本特征,然而由于应用场景的不同,它们之间并没有更多的可比性。下面我们将列举一下S

2015-06-02 13:28:13 8399

原创 Socket 网络编程

1.TCP/IP、UDPTCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。下面这张图,表明了这些协议的关系,如图TCP/IP协议族包括

2015-06-02 11:07:12 12658 2

转载 FrameWork Learning - Mantle

Mantle是一个用于简化Cocoa或Cocoa Touch程序中model层的第三方库。通常我们的应该中都会定义大量的model来表示各种数据结构,而这些model的初始化和编码解码都需要写大量的代码。而Mantle的优点在于能够大大地简化这些代码。Mantle源码中最主要的内容包括:MTLModel类:通常是作为我们的Model的基类,该类提供了一些默认的行为来处理对象的初始化

2015-05-27 01:34:19 5968

转载 FrameWork Learning-MBProgressHUD

源码来源: https://github.com/jdg/MBProgressHUD 版本:0.9.1MBProgressHUD是一个显示HUD窗口的第三方类库,用于在执行一些后台任务时,在程序中显示一个表示进度的loading视图和两个可选的文本提示的HUD窗口。我想最多是应用在加载网络数据的时候。其实苹果官方自己有一个带有此功能的类UIProgressHUD,只不过它是私有的,现在

2015-05-27 01:30:36 5703

转载 FrameWork Learning-Pop

当听闻Facebook要开源自己的Animation框架的时候,我还以为是基于Core Animation进行的封装,包含了一些动画效果库。等源码真正出来后,才发现完全想错了,Facebook Pop其实是基于CADisplayLink(Mac平台上使用的CVDisplayLink)实现的独立于Core Animation之外的动画方案。这里就不细说其实现原理了,主要讲讲Facebook Pop如

2015-05-27 01:27:49 6101

转载 AFNetworking-源码解析

最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章。AFNetworking2的大体架构和思路在这篇文章已经说得挺清楚了,就不再赘述了,只说说实现的细节。AFNetworking的代码还在不断更新中,我看的是AFNetworking2.3.1。本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自

2015-05-27 01:19:37 6362

原创 IOS开发中正则表达式的使用

正则表达式(广为所知的“regex”)是一个字符串或一个字符序列来说明一种模式,把它作为一个搜索字符串-非常强大!

2015-05-25 20:38:37 6651

原创 Object C 选择结构

Object C 选择结构继承C语言的特性:基本的if (expression); if ...else; if....else if ...else; switch...case ; do... while; 等都是基础中的基础,也没有什么特别可说的,C语言怎么用,你就怎么用就可以了。

2015-01-09 14:54:26 892

原创 Object C 复制对象

在简单的赋值语句中将对象赋值给另一个对象:origin = pt;    其中origin 和 pt 都是带有两个整型实例变量x和y的XYPoint 对象,这样的赋值结果仅仅是将对象pt 的地址复制到origin中,赋值操作结束后两个变量都指向内存中的同一个地址。当使用一条消息对实例变量进行修改:[origin setX:100 andY:300]     这时同时改变了o

2015-01-07 11:48:43 908

原创 Object C 多态

多态:使用不同的类共享相同方法名称的能力。动态类型:能使程序指导执行时才确定对象所属的类。动态绑定:能使程序指导执行时才确定实际要调用的对象方法。1.多态下面是一个复数类 Complex 类的接口文件,它用于表示程序中的复数://复数类#import @interface Complex : NSObject@property double real, imaginar

2015-01-07 11:46:37 868

原创 Object C 继承

在OC 中有父类和子类的概念,没有父类(超类->super class)的类位于类层次结构的最顶层,成为根(root)类,OC中可以定义自己的根类,但不建议这么做。定义了一个新类,会从父类继承些属性。比如,父类的非私有变量和方法都会成为新类定义的一部分,子类可以直接访问这些方法和实例变量。下面举个例子,首先定义一个类ClassA,再定义一个类ClassB:#import //Class

2015-01-07 11:45:16 1112

原创 Object C 预处理程序

预处理程序提供了一些工具,使用这些工具更易于开发、阅读、修改程序,也更易于将程序移植到不同的系统中。一、#define 语句   用途:给符号名称指定程序常量,它的本质是“替换”。#define TRUE 1   定义了名称 TURE 后,它的值即为1。在程序中任何出现TRUE的地方, 预处理程序都会将其替换为预定义的值:1。   熟悉C语言的童鞋 一定对 #define 不会

2015-01-07 11:42:15 1004

原创 Object C中的数据类型和表达式

Object C 继承于C 语言, 所以C语言拥有的基本数据类型,Object C 全部支持,因为是基础知识就不细说, 下表总结了基本的数据类型:   注意: id 类型可存储任何类型的对象,它是一般对象类型。id 类型也是Object C中十分重要的特性,它是多态和动态绑定的基础。   下面创建一个 Calculator 类,它是一个简单的四则运算计算器:////

2015-01-07 11:36:59 1115

空空如也

空空如也

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

TA关注的人

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