oc基础
文章平均质量分 57
JerryLee的博客
为移动互联网而生的90后攻城狮
展开
-
类和对象,方法,面向对象思想(1…
类和对象,是对现实世界客观事物的反映和概括性描述。对象是一个事物,类是一系列对象集合。初始化:是将对象处于可用状态,约定初始化方法以init开头,如果初始化成功会返回一个动态对象(id),否则返回nil。初始化方法可以包含多个参数。指定初始化方法:在一个类中,参数最完整的方法通常被称为指定初始化方法。子类通过super向父类调用初始化方法来进行初始化,其它初始化方法最终会调向指定初始化方法。原创 2014-01-13 16:10:32 · 613 阅读 · 0 评论 -
super,self,id等关键字
self:每个类都有一个隐藏参数self,它是当前消息接受者,指向当前调用方法的类,当self调用方法时会先从当前类中找,若没有找到,则向父类寻找。super:super指向的是父类的指针,当子类重写父类的方法时,如果不调用父类方法,可能导致该方法失去作用,super要调用方法是从父类中去寻找。id:id是oc中类对象指针,可以声明为任意对象的指针,当使用id时,编译器会假定指向某个类原创 2014-01-13 16:10:38 · 525 阅读 · 0 评论 -
类和对象,方法,面向对象思想(2…
Static关键字:1:用static声明的变量会存储在静态全局内存中。 2:局部变量分配在栈上,对象方法也分配在栈上。 3:全局变量分配在堆上,对象也是分配在堆上。面向对象三大特性:封装性,继承性,多态性。封装:封装就是把封装对象属性,在面向对象编程中,通过把数据和对数据的操作封装起来,对外只公开接口方法,使用者只原创 2014-01-13 16:10:40 · 430 阅读 · 0 评论 -
单例设计
单例:单例确保一个类只有一个实例,而且自行实例化,并向整个类提供这个实例。@implementation Antsstatic Ants *shareAt=nil;//声明静态变量,作用域是在整个程序周期+(Ants*)shareAnts//单例方法{ @synchronized(self){//使用线程保护 if(shareAt==nil) {//判断是否实例化成功原创 2014-01-13 16:10:52 · 383 阅读 · 0 评论 -
ios知识点小结
内存管理 1:对一个对象使用alloc,new,copy,retain,当你不再需要使用该对象时候,你必须要向该对象发送一条releas或者autorelase消息,释放对象所占用内存空间2:当向一个对象发送autoreleas时候,对象并没有被释放,而是暂时放到一个自动释放池中,是一个队列形式存放,后进先出,当应用程序结束或者时间循环结束,程序操作系统会向池中每个对象发送一条releas原创 2014-02-20 11:15:43 · 611 阅读 · 0 评论 -
object-c开发命名规则
1:点语法 2:常量3:变量4原创 2014-06-02 22:47:39 · 677 阅读 · 0 评论 -
NSNotification通知
A notification center 消息中心,是消息的控制中心,所有发送的消息都是由通知中心来控制分发的。notification的信息被被包装在NSNotification对象里面。cocoa包含两种消息中心NSNotificationCenter和NSDistributedNotificationCenter。NSNotificationCenter:每个进程都有一个默认通知中心可原创 2014-07-13 21:15:30 · 1113 阅读 · 0 评论 -
深浅复制
浅拷贝:只是拷贝对象本身,而其内的属性,所包含的对象不会拷贝。深拷贝:不仅拷贝本身,所包含的属性和对象也会拷贝Foundation框架内默认是浅拷贝浅拷贝其实是指针拷贝,而深拷贝才是对象拷贝1:非容器类型NSString ,NSSNumbel 对于不可变对象 copy是浅拷贝(指针拷贝),mutabCopy是深拷贝,但对于可变对象,都是深拷贝,只是copy返回对象是不可变的原创 2014-01-13 16:11:25 · 502 阅读 · 0 评论 -
内存管理(2)
内存管理(2)copy,assgin,retain区别:assgin是直接赋值,取的是一个别名,用于基础数据类型(NSinteger)和基本数据类型(int,float,double,char等),是对一个对象进行操作就是对另一个进行操作,retaincount不会加1.retain:保留赋值,释放旧对象,再将将旧对象值赋予输入对象,引用计数为2.retain是指针拷贝,在栈上拷贝一份,原创 2014-01-13 16:10:50 · 445 阅读 · 0 评论 -
设置器和访问器
#import<Foundation/Foundation.h>@interfaceClassA : NSObject{intmyNumber; // 实例变量}- (void)print; // 打印,返回为空-(void)setMyNumber:(int)number;//设置器 }@end#import "ClassA.h"原创 2014-01-13 16:10:35 · 945 阅读 · 0 评论 -
内存管理(1)
内存管理(1) 栈区:栈区的地址不需要管理,os会自动回收,存储顺序是有序的。堆区:堆区内存需要程序员自己手动管理且存放顺序无序,不规则,生命周期与程序员有关。静态区:存放静态常量和变量,生命周期与整个程序绑定。代码区:存放代码区域。Cocoa提供一种机制,引用计数(referencecounting)1:每个对象都有一个引用计数2:对象被创建时候,引用计数值为13:当使原创 2014-01-13 16:10:47 · 424 阅读 · 0 评论 -
使用JSONKit将字符串,字典,数组…
NSString*str = nil; //字符串 NSMutableString *string = [[NSMutableString alloc] init]; [stringappendString:@"xxxx"]; str =[string JSONString]; NSLog(@"str1:%@",[NSString stringWith原创 2014-01-13 16:12:36 · 439 阅读 · 0 评论 -
扩展类的形式与定义
类目类目(categroy):指向已知的类增加新的方法,不会破坏封装性。1;在类目中定义的方法会成为原始类的一部分,调用与其它方法相同。2:在父类中添加类目子类会继承该类目中的方法,但在子类中添加类目父类无法拥有这些方法。类目(categroy)定义命名规则:类名+扩张方法 类目不继承于父类,但接口与定义类很相似,用一个括号表示用途。类目(categroy)的应用1:对类进行扩展原创 2014-01-13 16:10:42 · 764 阅读 · 0 评论 -
简要剖析ARC
简介:ARC是在ios5(weak需要ios5才能使用)之后引入的一个新的内存管理机制,全称是Automatic Reference Counting,即自动引用计数,原理是系统在编译期间自动插入release/retain、autorelease管理对象的引用计数,并且处理dealloc方法里面的对象。规则:不要显示的调用dealloc方法(包括super dealloc原创 2014-09-05 16:03:29 · 520 阅读 · 0 评论