- 博客(81)
- 资源 (9)
- 收藏
- 关注
原创 UISearchBar 自定义UI
UITextField* textField = (UITextField*)[selffindSubview:@"UISearchBarTextField"resursion:YES];
2015-10-08 15:22:58
496
转载 iOS 函数调用的实现过程
Objective-C是一门动态语言,一个函数是由一个selector(SEL),和一个implement(IML)组成的。Selector相当于门牌号,而Implement才是真正的住户(函数实现)。和现实生活一样,门牌可以随便发(@selector(XXX)),但是不一定都找得到住户,如果找不到系统会给程序几次机会来程序正常运行,实在没出路了才会抛出异常。下图是objc_msgSend调用时,
2015-09-29 09:55:25
2257
原创 数据存储之---CoreData
详情参考:http://www.cnblogs.com/mjios/archive/2013/02/26/2932999.html#label2
2014-10-30 23:28:21
461
转载 NSTimer 你真的会用么?
NSTimer你真的会用了吗 看到这个标题,你可能会想NSTimer不就是计时器吗,谁不会用,不就是一个能够定时的完成任务的东西吗? 我想说你知道NSTimer会retain你添加调用方法的对象吗?你知道NSTimer是要加到runloop中才会起作用吗?你知道NSTimer会并不是准确的按照你指定的时间触发的吗?你知道NSTimer就算添加到runloop了也不一定会按照你想象中
2014-10-20 10:57:05
493
原创 iOS 缓存机制
1.应该用哪种缓存技术在众多可以本地保存数据的技术中,有三种脱颖而出:URL缓存、数据模型缓存(利用NSKeyedArchiver)和Core Data。假设你正在开发一个应用,需要缓存数据以改善应用表现出的性能,你应该实现按需缓存(使用数据模型缓存或URL缓存)。另一方面,如果需要数据能够离线访问,而且具有合理的存储方式以便离线编辑,那么就用高级序列化技术(如Core D
2014-10-14 15:50:37
581
原创 tcp三次握手和四次挥手
第三次握手防止 SYN攻击 在三次握手过程中,服务器发送SYN-ACK之后,收到客户端的ACK之前的TCP连接称为半连接(half-open connect).此时服务器处于Syn_RECV状态.当收到ACK后,服务器转入ESTABLISHED状态. Syn攻击就是 攻击客户端 在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待
2014-10-13 10:29:33
393
原创 iOS存储实例对象
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [do
2014-10-11 01:01:18
433
原创 IOSdebug模式-宏
#ifdef DEBUG# define DebugLog(fmt, ...) NSLog((@"[DEBUG]%s " fmt), __PRETTY_FUNCTION__, ##__VA_ARGS__);#else# define DebugLog(...)#endif
2014-09-13 22:17:49
662
原创 UIImagePickerController --之拍照采集和视频采集
拍照-demon#pragma mark - View LifeCircle- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}#pragma mark - UIButton Action-(
2014-08-19 13:00:50
598
转载 SDWebImage使用
http://blog.youkuaiyun.com/uxyheaven/article/details/7909373SDWebImage是我搞iOS以来少数佩服的框架,膜拜一下作者.真的写的非常棒!这套开源框架还是蛮重要的, 涉及到异步加载图片源和自动缓存.我们如果能够熟练使用其API 就可以实现很多复杂的需求了.作者依旧在更新,目前3.0 版本已经非常强大! 简化了更多A
2014-08-17 18:48:24
429
转载 AFNetworking 2.0 简介
前几天 Mattt 发布了 AFNetworking 2.0,我的一个最大感慨就是,他怎么那么高产? 关于 MatttMattt 是一位非常活跃的 iOS 开发大牛,从 AFNetworking 1.0 开始 follow 他。当时从他 AFNetworking 和 TTTAttributedLabel 等开源代码中学到了很多。他现在是 Heroku 的 Mobile Lead
2014-08-17 17:13:47
459
转载 HTTP协议授权访问
wHTTP授权HTTP中带授权要求的处理机制。有些URL访问需要具有权限否则返回401的错误,因此客户端需要在HTTP的请求头中带上授权的用户和密码;或者当我们使用HTTPS协议时,一旦服务器证书不具备信任则需要客户端确认是否信任此服务器证书;或者用HTTPS协议当服务端也需要客户端提供证书时;或者我们是通过代理服务器来请求HTTP的,我们需要提供代理服务器的用户和密码,我们称
2014-08-15 15:45:04
795
转载 NSURLConnection
NSURLConnection 提供了很多灵活的方法下载URL内容 也提供了一个简单的接口去创建和放弃连接,同时使用很多的delegate 方法去支持连接过程的反馈和控制 如何创建一个连接呢? 为了下载url的内容,程序需要提供一个delegate对象,并且至少实现下面的方法 connection:didReceiveResponse:,conncetion:didRe
2014-08-15 14:32:36
381
转载 NSURLCache内存缓存
在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在IOS设备中加一个缓存的机制。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。下面将介绍如何在IOS设备中进行缓存。 内存缓存我们可以使用sdk中的NSURLCache类。NSURLRequ
2014-08-15 14:17:38
395
转载 IOS开发之Cocoa编程—— NSUndoManager
在Cocoa中使用NSUndoManager可以很方便的完成撤销操作。NSUndoManager会记录下修改、撤销操作的消息。这个机制使用两个NSInvocation对象栈。 NSInvocation会把消息(选择器和接受者及参数)包装成一个对象,这个对象就是NSInvocation的实例。当一个对象收到它不理解的消息时,消息发送机制会在报出错误前检查该对象是否实现了forwardIn
2014-08-14 19:55:05
412
转载 iOS网络编程实践--NSStream实现TCP Socket iPhone客户端
客户端我们使用iPhone应用程序,画面比较简单。点击发送按钮,给服务器发送一些字符串过去。点击接收按钮就会从服务器读取一些字符串,并且显示在画面上。 有关客户端应用的UI部分不再介绍了,我们直接看代码部分,Socket客户端可以采用CFStream或NSStream实现,CFStream 实现方式与服务器端基本一样。为了给读者介绍更多的知识,本例我们采用NSStream实现。NSSt
2014-08-12 12:36:00
380
转载 NSSortDescriptor描述排序用于多条件排序
如果数组里面的每一个元素都是一个个model,例如DepartsDate.h文件[plain] view plaincopy#import @interface DepartsDate : NSObject @property (nonatomic, retain) NSDate *date; @property (nonatomic, assign
2014-08-12 10:17:10
2065
转载 NSSet类型 以及与NSArray区别
NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSS
2014-08-12 10:09:50
373
原创 performSelector浅析
- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self performSelector:@selector(printf) withObject:nil afterDelay:0];
2014-08-03 22:13:40
416
原创 多线程编程之 NSOperationQueue
- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSInvocationOperation * operation = [[NSInvocationOperation alloc]initWith
2014-08-03 21:42:22
347
原创 iOS 多线程同步策略之-----锁NSLock和@synchronized
1.NSLock---锁同步- (void)viewDidLoad{ [super viewDidLoad]; NSLock * lock = [[NSLock alloc]init]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [lock
2014-07-29 22:18:20
2905
转载 GDC dispatch_semaphore 信号量 协调线程同步
1.2.当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore,对经常做unix开发的人来讲,我所介绍的内容可能就显得非常入门级了,信号量在他们的多线程开发中再平常不过了。 信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知
2014-07-25 16:57:33
680
原创 ios NSFileManager
1.在开发iPhone程序时,有时候要对文件进行一些操作。而获取某一个目录中的所有文件列表,是基本操作之一。通过下面这段代码,就可以获取一个目录内的文件及文件夹列表。NSFileManager *fileManager = [NSFileManager defaultManager];//在这里获取应用程序Documents文件夹里的文件及文件夹列表 NSArray *d
2014-07-24 21:42:58
328
粒子效果demon
2014-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人