自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (5)
  • 收藏
  • 关注

转载 xcode-select – 更改默认Xcode

如果你的电脑中有几个xcode版本,比如一个xcode5.1.1,一个xcode6-beta, 当你打开工程的时候,通常会有一个默认配置,或者使用terminal命令行操作,需要选择使用xcode的不同版本,怎么更改这个配置呢? 请看下文:It’s not uncommon developers to have multiple versions of Xcode installed.

2015-12-01 09:46:52 9472

原创 iOS URL缩短

@interface ViewController ()@property (nonatomic,retain)NSMutableData *data;@end@implementation ViewController- (void)viewDidLoad {    [superviewDidLoad];     

2015-08-25 15:40:04 1110

转载 associative

id _object_get_associative_reference(id object, void *key) { id value = nil; uintptr_t policy = OBJC_ASSOCIATION_ASSIGN; { AssociationsManager manager; AssociationsHashMap

2015-07-28 05:44:21 910

原创 UIImage+ImageEffects

@import UIKit;@interface UIImage (ImageEffects)- (UIImage *)applyLightEffect;- (UIImage *)applyExtraLightEffect;- (UIImage *)applyDarkEffect;- (UIImage *)applyTintEffectWithColor:(UIColor *)tin

2015-07-26 16:43:25 3705

原创 PRPDebug

#ifdef PRPDEBUG#define PRPLog(format...) PRPDebug(__FILE__, __LINE__, format)#else#define PRPLog(format...)#endif#import void PRPDebug(constchar *fileName, int line

2015-07-19 04:46:07 583

转载 理解RESTful架构

作者: 阮一峰日期: 2011年9月12日越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系

2015-04-30 11:00:15 622

转载 无状态协议

中文名无状态协议外文名Stateless Protocol类    型名词领    域计算机协议的状态是指下一次传输可以“记住”这次传输信息的能力.http是不会为了下一次连接而维护这次连接所传输的信息,为了保证服务器内存.比如客户获得一张网页之后关闭浏览器,然后再一

2015-04-30 10:24:17 992

转载 什么是 MIME TYPE?

一、首先,我们要了解浏览器是如何处理内容的。在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如:Conte

2015-04-29 15:03:57 644

转载 NSURLCache

NSURLCache 为您的应用的 URL 请求提供了内存中以及磁盘上的综合缓存机制。 作为基础类库 URL 加载系统 的一部分,任何通过 NSURLConnection 加载的请求都将被 NSURLCache 处理。网络缓存减少了需要向服务器发送请求的次数,同时也提升了离线或在低速网络中使用应用的体验。当一个请求完成下载来自服务器的回应,一个缓存的回应将在本地保存。下一次同一个请

2015-04-29 11:44:08 694

转载 Header Field Definitions

part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al.14 Header Field DefinitionsThis section defines the syntax and semantics of all standard HTTP/1.1 header fields. For entit

2015-04-29 10:46:32 2192

转载 NSCache

可怜的 NSCache 一直处于 NSMutableDictionary 的阴影之下。就好像没有人知道它提供了垃圾处理的功能,而开发者们却费劲力气地去自己实现它。没错,NSCache 基本上就是一个会自动移除对象来释放内存的 NSMutableDictionary。无需响应内存警告或者使用计时器来清除缓存。唯一的不同之处是键对象不会像 NSMutableDictionary 中那样被复制,

2015-04-28 17:15:06 610

转载 理解HTTP幂等性

理解HTTP幂等性基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单

2015-04-19 18:37:11 485

转载 iOS上应用如何兼容32位系统和64位系统

在苹果推出iPhone5S时,64位的应用就走到了眼前。当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位。      我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的。当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他。后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件。而现在,64位走到了眼前。

2015-03-06 14:08:31 1376

原创 block底层实现原理

#include"stdio.h"int main(){ void (^blk)(void) = ^{printf("Block.\n");}; blk(); return 0;}clang -rewrite-objc main.m#ifndef __OBJC2__#define __OBJC2__#endifstruct objc_sele

2015-03-05 00:51:08 2228

转载 如何解读返回函数指针的函数声明

准确地讲,本文所涉及的内容是C++中较难理解的,本文的目的不是在于将它们解释清楚,因为这需要你循序渐进地做很多练习才可以。看下面一个例子:int (*func(bool real))(int, int)你觉得它的返回值是什么?这里就涉及到了如何理解指向函数的指针的问题了。一些来自C++教材的建议是从里向外解读这个表达式,这里所谓的里面就是func(bool real),那么剩下

2015-03-04 21:06:45 770

转载 multipart/form-data和application/x-www-form-urlencoded的区别

FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。    然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。     在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持

2015-03-03 16:28:13 4644

转载 给Mac添加wget功能

wget在Unix下是个很普遍的命令,但是Mac却本身是没有的。今天就教大家如何给Mac添加wget功能准备工作:需预先安装Xcode及“Command Line Tools”1丶首先你需要安装Xcode(点击下载)2丶打开Xcode,并点击顶部左侧的“Xcode”-“Preference...”3丶在弹出的窗口中点击上方的“Downloads”

2015-02-28 14:43:14 8255

转载 iOS 上的蓝牙框架 - Core Bluetooth for iOS [译]

原文: Core Bluetooth for iOS 6Core Bluetooth 是在iOS5首次引入的,它允许iOS设备可以使用健康,运动,安全,自动化,娱乐,附近等外设数据。在iOS 6 中,这个API被扩展了,让iOS也能成为数据提供方,也就是Server(Peripheral)端,可能使它与其它 iOS 设备交互数据。Core Bluetooth API

2015-02-13 14:26:27 1934

原创 C++ 类的 复制构造函数 和 赋值构造函数

class Demo{public: Demo() { } Demo(int j) { cout<<"Demo int: "<<j<<endl; this->i = j; } Demo(const Demo& d) { cout<<"复制构造函数"<<endl; }

2015-02-05 10:28:37 1086

转载 C++类模板 template <class T>

类模板与函数模板的定义和使用类似,我们已经进行了介绍,如果您对函数模板也感兴趣,请查看:。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{public : Compare(int a,int b) { x=a; y=b; } int max( ) { retu

2015-02-04 17:38:38 22805 2

原创 C++ -- string分割

#include "cocos2d.h"#include #include using namespace std;std::vector split2(std::string str, std::string pattern){ std::string::size_type pos; std::vector result; //扩展字符串以方便操作 s

2015-02-04 13:56:32 789

转载 ocos2d-x--SEL_CallFuncN,SEL_CallFuncO等的区别

ocos2d-x中有大量的回调函数的应用,主要有以下几类,看下CCObject.h中的定义typedef void (CCObject::*SEL_SCHEDULE)(float);// 用来调updatetypedef void (CCObject::*SEL_CallFunc)();// 用来自定义无参回调typedef void (CCObject

2015-02-03 15:25:20 985

转载 Cookie/Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1  Cookie机制

2015-02-02 17:52:23 564

转载 URL中的+,空格,/,?,%,#,&,= 及转义处理

URL出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好? 解决办法:将这些字符转化成服务器可以识别的字符,对应关系如下: URL中的特殊字符 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(1

2015-02-02 16:00:16 13685

转载 C--文件读写

1、“文件(file)”:所谓“文件”是指一组相关数据的有序集合。数据以文件的形式存放在外部介质(一般是磁盘、磁带、光盘等)上,在操作系统中是以文件为单位对数据进行管理的。以文件名作为访问文件的标识。2、C语言把文件看作一个字节序列,即由一连串的字节组成。根据文件中的数据组织形式,数据文件可分为ASCII码文件和二进制文件。ASCII码文件,又称为“文本文件”(text),其每一个

2015-02-02 10:43:13 1144

转载 HttpClient session

session概述session机制session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个session id则说明以前已经为此客户端创建过sessio

2015-01-30 16:13:37 2127

原创 如何使用HttpClient

介绍HttpClient是HTTP客户端的接口。HttpClient封装了各种对象,处理cookies,身份认证,连接管理等。概念HttpClient的使用一般包含下面6个步骤:1.创建 HttpRequest的实例;2.设置某种连接方法的类型(GET、POST等),这里通过setUrl传入待连接的地址;3.设置响应回调函数,读取response;4.添

2015-01-30 15:17:14 1423

原创 coco2d-x 下载网络图片

#include "HttpRequest.h"#include "HttpClient.h"USING_NS_CC;USING_NS_CC_EXT;using namespace std;class StartScene : public cocos2d::CCLayer{public: bool init(); void onEnter(); void

2015-01-30 14:41:26 978

转载 objc_object 、objc_class、metaclass

[0] Outline  -- [1] id和Class  -- [2] 动态地操作类  -- [3] 实例化[1] id和Class在Objective-C中有一个特别的数据类型作为对象标识符:id,可以指向任何类型的对象。通过 “可以指向任何类型的对象” 这一描述,猜想id实际上是指向Objective-C对象系统中的基类(继承体系中

2015-01-29 11:32:35 2729

转载 Objective-C-- id、nil、Nil、SEL、IMP、Method、Class

在Objective-C中,有一些我们之前并不熟悉但是经常见到的数据类型,比如id、nil、Nil、SEL等等。在很多文章里,我们都见过这些数据类型的介绍,但是都没有说的太清楚。这篇文章从最底层的定义开始,介绍一下这些类型到底是怎么定义的,这会帮助我们更加深入地了解Objective-C。参考:http://unixjunkie.blogspot.com/2006/02

2015-01-29 11:02:41 1581

原创 cocos2d-x---ttf字体 和 fnt字体 的显示

一.添加字体。在info.plist上面添加Fonts provided by application 如下图,然后下面添加对应的字体: 二.代码中应用 CCLabelTTF* pLabel = CCLabelTTF::create("唯女子与小人难养也", "QXyingbixing", 44); pLabel->setPosit

2015-01-28 14:49:14 4491 1

原创 Cocos2d-x -- 常用工具下载

1.GlyphDesigner不管是Cocos2d-x还是其他的引擎或程序中,我们通常需要用到中文或显示一些好看华丽的文字效果。这利用位图字体可以实现,Glyph Designer是一款Mac环境下的制作BMFont位图字体的工具(Windows下可使用Hiero和BMFont)。Cocos2d-x中,支持位图字体创建的类是LabelBMFont类,LabelBMFont是一种纹理地图

2015-01-28 13:15:36 870

转载 C++内存管理

在C++中,动态内存分配是一把双刃剑,一方面,直接访问内存地址提高了应用程序的性能,与使用内存的灵活性;另一方面,由于程序没有正确地分配与释放造成的例如野指针,重复释放,内存泄漏等问题又严重影响着应用程序的稳定性。人们尝试着不同的方案去避免这个问题,比较常用的如智能指针,自动垃圾回收等,这些要么影响了应用程序的性能,要么仍然需要依赖于开发者注意一些规则,要么给开发者带来了另外一些很丑陋

2015-01-27 11:49:46 657

原创 iOS--kxmovie之FFmpeg编译和使用

FFmpeg编译我用的编译环境:OS X 10.10.1  , Xcode 6.1.1  ,   ffmpeg 2.5.3方法一(未成功): 1)git clone git://github.com/kolyvan/kxtorrent.git kxmovie 2)配置编译ffmpegcd kxmoviegit submodule update --ini

2015-01-26 15:26:54 7790 13

原创 KVO绑定

#import typedef id (^BinderTransformationBlock) (id value);@interface KVOBinder : NSObject/* *把toObject的toKeyPath的值 和 fromObject的fromKeyPath的值 绑定。fromKeyPath变动toObject也跟着变动 *valueTransformer:自

2015-01-22 18:06:50 757

转载 NSValueTransformer

主要用于数据类型的变换(如Model?View等),变换可以是单向或双向的。◆NSValueTransformer是一个抽象类,所有的类型变换都在NSValueTransformer的子类中定义。◎NSValueTransformer类的已实装方法管理值变换的名字和值变换对象的mapping方法。> +valueTransformerNames 返回所有注册的子类转换器

2015-01-22 15:23:45 4143

原创 KVC

KVC 与KVOKVC 是NSKeyValueCoding 的缩写,它是Foundation Kit 中的一个NSObject 的Category,作用你可以类比JAVA 中的反射机制,就是动态访问一个对象中的属性。KVC 在解析key 的字符串的时候,是会比你正常调用setter、getter 要慢的,而且编译器无法在编译器对你的方法调用做出检查(因为你的属性名都是字符串,只有运行时才会知道

2015-01-22 13:33:12 966

原创 KVO的Block实现和Selector实现

#import typedef void(^ObserverBlock)(NSDictionary *change);@interface KVOObserver : NSObject/*block * *object:被观察者 */+ (id)observerForObject:(id)object keyPath:(NSString *)ke

2015-01-21 18:51:50 1609

原创 判断selector有几个参数

//判断selector有几个参数staticNSUInteger SelectorArgumentCount(SEL selector){   NSUInteger argumentCount = 0;//sel_getName获取selector名的C字符串   const char *selectorStringCursor =sel_getName(

2015-01-21 18:17:42 1885

转载 iOS 获取视频的任意一帧

项目要求根据服务器返回的视频和秒数,生成该视频的预览图。网上一搜关键词 “iOS 视频 帧” 结果都是:iOS如何获取视频的第一帧。但是如果我不想要第一帧,要第s秒的第x帧怎么办?先贴如何获取第一帧的代码:- (UIImage*) getVideoPreViewImage{ AVURLAsset *asset = [[AVURLAsset alloc] i

2015-01-20 17:33:34 5085 1

iOS 网络请求攻略

集成iOS网络请求业务,不管何种需求,有这个就够了

2015-07-19

iOS底层网络实现

iOS网络底层的实现,包括bsd socket ,cfnetwork,nsstream的网络请求实现

2015-04-29

在网络请求基本类里处理请求结果

在自定义网络请求基本类里处理网络结果,包括成功,无网络,请求异常等,在调用网络请求的地方只需要发送网络请求并监听结果即可

2015-04-26

CoreText 使用

coretext学习的基本代码,包括图文混编和文字链接

2015-04-16

FFmpeg 2.5.3 编译的静态库(arm64 armv7s armv7 x86_64 i386)。

FFmpeg 2.5.3 编译的静态库,在Xcode6 iOS8上编译, 已整合(arm64 armv7s armv7 x86_64 i386)。

2015-01-28

空空如也

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

TA关注的人

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