
oc
Mr丶Tian
没有什么能够阻挡
展开
-
static 关键字的作用
1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值; (2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问3)在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内; (4)在类中的 static 成员变量属于整个原创 2016-03-15 19:22:03 · 262 阅读 · 0 评论 -
iOS内存优化,性能优化
1. 用ARC管理内存ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你转载 2016-03-16 11:39:28 · 363 阅读 · 0 评论 -
如何在 block 中修改外部变量
有两种办法,第一种是可以修改 static 全局变量;第二种是可以修改用新关键字 __block 修饰的变量。请看: NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; __block int blockLocal = 100; static int staticLocal = 100;转载 2016-03-15 20:04:19 · 469 阅读 · 0 评论 -
SDWebImage的运行原理
入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImageManager 根据 URL 开始处理图片。进入 SDWebImageManager-downloadWithURL:delegate:options:userInfo:,交给 SDImageCache 从缓存查找图片是否已经下载转载 2016-03-15 19:45:47 · 261 阅读 · 0 评论 -
讲述一下runtime的概念,message send如果寻找不到相应的对象,会如何进行后续处理 ?
runtime是oc的运行时机制,其中最重要的是他的消息机制,RunTime 运行机制 :运行时候的一些机制>最重要的是消息机制>方法调用的本质就是让对象发送消息 只有对象能够发送消息,所以使用objc_开头,就算是 类方法也是类对象在发送消息 :发送消息的过程是runtime库会根据isa指针找到对应的 类 在类和父类的方法列表中找 如果在最顶类(NSObject转载 2016-03-15 19:42:44 · 1115 阅读 · 0 评论 -
socket连接和http连接的区别
HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的 tcp协议: 对应于传输层 ip协议: 对应于网络层 TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。 Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,才能使用TCP/IP协议转载 2016-03-15 19:36:45 · 314 阅读 · 0 评论 -
简述UIViewControl之间的七种传值方式
一.正向传值方式 这种方式传值应该是最简单的方式,我们先来建立两个视图控制器暂且称为OneViewControl和TwoViewControl,然后第一个视图控制器上面有一个UIButton(按钮)和一个UIlabel(标签),第二个控制器中有一个UIButton和一个UITexField(文本框)。然后我们在AppDelegate加入如下代码- (BOOL)appl转载 2016-03-15 19:28:50 · 393 阅读 · 0 评论 -
堆和栈的区别
管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。 申请大小: 栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在 WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时转载 2016-03-15 19:26:57 · 264 阅读 · 0 评论 -
属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用
readwrite 是可读可写特性;需要生成getter方法和setter方法时readonly 是只读特性 只会生成getter方法 不会生成setter方法 ;不希望属性在类外改变assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retainco转载 2016-03-15 19:24:33 · 305 阅读 · 0 评论 -
objc优点和缺点
objc优点: 1) Cateogies 2) Posing 3) 动态识别 4) 指标计算 5)弹性讯息传递 6) 不是一个过度复杂的 C 衍生语言 7) Objective-C 与 C++ 可混合编程 缺点: 1) 不支援命名空间 2) 不支持运算符重载 3)不支持多重继承 4)使用动态运行时类型,所转载 2016-03-15 19:23:04 · 501 阅读 · 0 评论 -
socket编程
前言AsyncSocket介绍AsyncSocket详解AsyncSocket示例一、前言公司的项目用到了Socket编程,之前在学习的过程当中,用到的更多的还是http请求的方式。但是既然用到了就必须学习一下,所以就在网上找一些例子,然后想自己写一个demo。可是发现很多写iOS Socket的博客并没有很详细的说明,也可能是大神们觉得其他东西都浅显易懂。自己专研了一转载 2016-03-17 20:06:04 · 240 阅读 · 0 评论