IOS学习总结
文章平均质量分 72
Hepburn_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ARC与MRC
Objective-c中提供了两种内存管理机制MRC(MannulReferenceCounting)和ARC(Automatic ReferenceCounting),分别提供对内存的手动和自动管理,来满足不同的需求。注意的是Xcode4.1及其以前版本没有ARC,需要理解MRC,但实际使用时强推ARC。1. Objective-c语言中的MRC(MannulReferenc原创 2015-07-22 23:21:03 · 951 阅读 · 0 评论 -
runtime-02-Swizzle
上一篇我们讲过runtime中可以交换两个方法的具体实现;利用swizzie就可以实现;什么意思呢?废话不多说,直接上代码。呢,废话不多说,直接上代码。在开发中,图片会提供IOS7版本的,IOS8版本的,但是我们不可能每加载一个图片就去判断是不是IOS7版本还是IOS8版本,这样,我们就可以写一个UIImage类的扩展,使得我们直接调用一个方法,不管是什么IOS7还是IOS8让方法去判断,原创 2015-07-22 23:10:38 · 944 阅读 · 1 评论 -
HTTP协议
HTTP一、URL1,什么是URL1)URL的全称是Uinform Resource Locator(统一资源定位符)2)通过1个URL,能找到互联网上唯一的1个资源3)URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL2,URL的基本格式 =协议:// 主机地址 /路径http://www.baidu.com/ios/i原创 2015-07-27 16:30:11 · 1248 阅读 · 0 评论 -
网络请求之GET、POST请求
网络请求-GET请求:1,NSURL: 请求地址;2,NSURLRequest :一个NSURLRequest对象就代表一个请求,它包含的信息有:1)一个NSURL对象GET请求,不需要写请求头、请求体,只要告诉请求路径和请求参数就可以了。2)请求方法3)请求超时3,NSMutableURLRequest : NSURLR原创 2015-07-28 10:27:18 · 1577 阅读 · 0 评论 -
POST数据加密
数据加密:GET请求和POST请求其中之一的区别:GET请求参数直接加在请求路径后面,很不安全;所以一定要使用POST请求提交用户的隐私数据1,GET请求的所有参数都是直接暴露在URL中2,请求的URL一般会记录在服务器的访问日志中3,服务器的访问日志是黑客攻击的重点对象之一仅仅用POST请求提交用户的隐私数据,还是不能完全解原创 2015-07-28 15:47:21 · 14828 阅读 · 3 评论 -
XML/JSON解析
JSON:什么是JSON:1,json是一种轻量级的数据格式,一般用于数据交互;2,服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)JSON的格式很像OC中的字典和数组{“name” : "jack", "age" : 10}{"names" : ["jack","rose","jim"]}标准JSON格式的注意点原创 2015-07-28 15:34:23 · 1272 阅读 · 0 评论 -
Objective-C之run loop详解
Objective-C之run loop详解 不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我们点击界面上的一个按钮,这个时候就会有对应的按钮响应事件发生。给我们的感觉就像应用一直处于随时待命的状态,在没人操作的时候它一直在休息,在让它干活的时候,它就能立刻响应。其实,这就是run lo原创 2015-08-27 15:02:40 · 3739 阅读 · 3 评论 -
KVC与KVO
一、简介KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NSObject类实现的NSKeyValueCoding/NSKeyValueObserving非正式协议的形式被定义为基础框架的一部分。从协议的角度来说,KVC/KVO本质上是定义了一套让我们去遵守和实现的方法。当然,KVC/KVO实现的根本是Objective-C的动态性和runtime,这在后文的原理部分会有详原创 2015-07-23 11:22:25 · 1106 阅读 · 0 评论 -
SDWebImage使用详解
这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category)前提#import导入UIImageView+WebCache.h文件,然后在tableview的cellFor原创 2015-08-30 16:21:28 · 1101 阅读 · 0 评论 -
OC中Autorelease Pool实现原理与autorelease何时被释放
autorelease 基本用法1,对象执行autorelease方法时会将对象添加到自动释放池中2,当自动释放池销毁时自动释放池中所有对象作release操作3,对象执行autorelease方法后自身引用计数器不会改变,而且会返回对象本身autoreleased 对象什么时候释放autorelease 本质上就是延迟调用 release ,那 autoreleased原创 2015-07-23 10:39:53 · 4815 阅读 · 0 评论 -
UIScrollView极限优化:两个UIImageView循环利用
iOS开发中,UIScrollView在大部分情况下,用for循环往里面直接塞UIImageView就OK了。但是如果需要展示的图片非常多,比如十张,几十张,甚至上百张,直接往UIScrollView里面塞上百的UIImageView肯定是行不通的。明显需要优化。UIScrollView在不滚动的时候,只会有一张图出现在视野中,滚动的时候同一时刻也最多只会有两张图出现在视野中。如图所示。既原创 2015-07-23 10:47:22 · 1088 阅读 · 0 评论 -
优化原理之UITableView - 循环利用
UITableView-循环利用,优化原理当我们在项目中用到UITableView时,如果没有做优化处理,只是简单的实现功能代码。当我们有上百条tableviewcell的时候,我们滑动的非常快的时候会非常消耗内存,当然苹果公司不会让我们这样干,苹果公司会在程序启动加载页面的时候。只开辟出现在页面上的tableviewcell,剩下的就需要你滑动到该条才加载到内存中去,划出的UITablevi原创 2015-07-22 14:58:29 · 1129 阅读 · 0 评论 -
NSOperation - 02
NSOperationQueue作用:NSOperation可以调用start方法来执行任务,但默认是同步执行的;如果将NSOperation添加到NSOperationQueue中,系统会自动异步执行NSOperation中的操作;添加操作到NSOperationQueue中:- (void)addOperation:(NSOperation *)p;- (void)原创 2015-07-27 09:59:32 · 950 阅读 · 0 评论 -
runtime-01
Runtime实现的机制:运行时机制它是一套C语言库;实际上我们编写的所有OC代码,最终都是转成了runtime库的东西,比如类转成了runtime库里的结构体等数据类型,方法转成了runtime库里面的C语言函数,平时调方法都是转成了objc_msgSend函数(所以说OC有个消息发送机制);因此,可以说runtime是OC的底层实现,是OC的幕后执行者;举例:runtime原创 2015-07-22 22:24:08 · 950 阅读 · 0 评论 -
类别与类扩展//类别与继承
类别1,在不需要继承的情况下可以扩展类的功能;2,无法向类中添加新的实例变量,类别没有位置容纳实例变量;(注意)如果非要在类别中加成员变量,可以使用@dynamic来弥补这种不足;3,名称冲突:当类别中的方法与原始类方法名称冲突,类别具有更高的优先级。(补充:在苹果官方文档中的描述是,当方法名重名的时候,在运行的时候不知道会调用哪个方法。实际上,这个应该是有规则可循的。我建原创 2015-07-22 10:56:01 · 1603 阅读 · 0 评论 -
IOS笔记-protocol、category和继承
利用继承,多态是一个很好的保持“对扩展开放,对更改封闭”(OCP)的办法,也是最常见的一种方法。OC中还有另外两种语法来支持OCP:protocol和category。Protocol只能定义一套接口,而不能提供实现。Category可以为类提供额外的接口和实现。那么三者到底在使用上有什么本质的区别呢?在我看来,protocol的作用是为一些列类仅仅提供一套公用的接口,而完全没有办法也没有可能原创 2015-07-22 11:33:58 · 1406 阅读 · 0 评论 -
NSOperation - 01
NSOperation在介绍NSOperation之前,我们来看看IOS中多线程的实现方案有哪些?都有什么特点?1,pthread 基于C语言,线程的生命周期是由程序员管理的;(1)一套通用的多线程API(2)适用于Unix\Linux\Windows(3)跨平台、可移植(4)使用难度大2,NSThread 基于OC语言,线程生命周期也是原创 2015-07-26 17:20:12 · 951 阅读 · 0 评论 -
GCD队列与任务
GCD队列与任务GCD的基本思想:GCD的基本思想就是将操作a放在队列a中去执行:(1)操作使用blocks定义(2)队列负责调度任务执行所在的线程以及具体的执行时间(3)队列的特点是先进先出(FIFO)的,新添加至队列的操作都会排在队尾提示:GCD的函数都是以dispatch(分派、调度)开头的原创 2015-07-25 09:17:46 · 1311 阅读 · 0 评论 -
Objective-C isa 指针 与 runtime 机制
一.isa指针要认识什么是isa指针,我们得先明确一点:在Objective-C中,任何类的定义都是对象。类和类的实例(对象)没有任何本质上的区别。任何对象都有isa指针。那么什么是类呢?在xcode中用快捷键Shift+Cmd+O 打开文件objc.h 能看到类的定义:可以看出:Class 是一个 objc_class 结构类型的指针, id是原创 2015-08-30 09:36:00 · 1807 阅读 · 1 评论
分享