自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NSURLConnection代理方法线程问题

NSURLConnection代理方法默认在主线程执行 让代理方法在子线程执行的方法 1.给代理方法开子线程(若方法多 开子线程越多 不建议使用)2. 统一开线程统一开线程- (void)delegate{ NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://120.25.2

2016-12-15 18:41:02 760

原创 cell重用(循环利用)

此方法被调用多次- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {1.写为静态局部变量 避免上述方法被多次调用 导致内存多次分配空间 从而耗费性能 static NSString *ID = @"cell";若需要cell时 首先要从缓存池

2016-12-14 19:13:35 296

原创 多只参数和中文输出

//多值参数/* 如果一个参数对应着多个值,那么直接按照"参数=值&参数=值"的方式拼接 */-(void)test{ //1.确定URL NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/weather?place=Beijing&place=Guangzhou"]; //2.创建请求对

2016-12-13 22:21:39 220

原创 XML解析方式

1.原生:NSXMLParser(SAX形式解析) SAX:一次性将整个XML加载进内存中,适合小文件解析 2.第三方框架:GDataXML(DOM形式解析, 非arc) libxml2(纯c) DOM:从根元素开始解析,一个一个按顺序解析元素,适合大文件解析NSXMLParser解析 //4.1 创建一个解析器 NSXMLParser

2016-12-13 22:12:28 243

原创 JSON解析

JSON解析方法 1.原生:NSJSONSerialization(序列化工具) 2.第三方框架:JSONKit SBJson TouchJson反序列化(JSON转oc) //2.JSON ——————》oc对象 反序列化 // NSJSONReadingMutableContainers = (1UL << 0), 可变字典和数组 //

2016-12-13 18:19:41 258

原创 发送HTTP网络请求的方法

NSURLConntionNSURLConnction发送请求的两种方式 1.同步请求:sendasync(数据一次性返回) 2.异步请求:1>sendAsync(数据一次性返回) 2>delegate(数据多次片段返回) 代理的三种请求方法 1. 》connection 2. 》initWith— 3. 》initWith 有startImmediately参数1.发送同步请

2016-12-08 13:05:29 1324

原创 NSOperation的使用

-NSOperation是个抽象类,并不具备封装任务的能力,必须使用他的子类 1.NSInvocationOperation 2.NSBlockOperation 3.自定义类继承NSOperation 实现内部方法NSOperation的队列 1.主队列:NSOperationQueue *queue = [NSOperationQueue mainQueue];2.非主队列NSOpe

2016-12-05 18:40:15 209

原创 ##队列组的概念及使用场景

队列组:dispatch_group_async此函数做了三件事 1.封装任务 2.将任务添加到队列中 3。监听队列任务的执行情况 通知group组队列的创建 dispatch_group_t group = dispatch_group_create();拦截通知:dispatch_group_notify 队列中任务执行完后将执行此函数的代码 队列组的另一种写法(参考)dispa

2016-12-04 18:13:52 459

原创 GCD中全局并发队列和create函数创建的并发队列主要区别

全局并发队列和使用create函数创建的并发队列主要区别1.全局并发队列在整个应用程序中本身是默认存在的,并且有高级 默认 低级 后台四个优先级并发队列。而create函数创建的使我们自己实打实创建的 2.ios6.0前,GCD中使用create及retain的函数 最后都要一次release操作。而主队列 全局并发队列不需要我们手动release 3.栅栏函数只有在自己create的并发

2016-12-04 17:12:07 450

原创 栅栏函数的使用

栅栏函数的使用1.不能使用全局并发队列dispatch_barrier_async(queue,^{block});迭代函数的使用1.快速迭代 开启子线程 和主线程 一起执行任务 第一个参数为迭代次数 第二个参数为队列 第三个参数为引用dispatch_apply(count,queue,^(size_t index)){block}

2016-12-04 11:20:08 1396

原创 延时执行的方法

ios常见的延时执行调用NSObject的方法[self performSelector:@selector(run) withObject:nil afterDelay:2.0];使用GCD函数dispatch_after(dispatch_time(DISPANTCH_TIME_NOW,(int64_t)(2.0*NSEC_PER_SEC)),dispatch_get_main_queu

2016-12-03 16:18:47 363

原创 GCD的基础知识

对GCD的认识1.任务:执行什么操作 2.队列:用来存放任务 3.同步函数:创建任务:dispatch_sync 只能在当前线程中执行任务,不具备开启新线程的能力 4.异步函数:dispatch_async可以在新的线程中执行任务,具备开启新线程的能力 5.并发队列:创建队列:dispatch_queue_create(dispatch_queue_Concurrent)可以并发执行任务

2016-12-02 16:54:41 314

转载 传递数据(顺序传递)

传递数据(顺序传递) 1.数据接收的控制器定义一个属性,来接收数据 2.数据来源控制器要拿到数据接收的控制器 3.给接收的控制器接收数据的属性赋值

2016-11-23 21:55:12 303

空空如也

空空如也

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

TA关注的人

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