随笔分类 -  OC

摘要:底层封装是使用了typedef定义的结构体typedef struct _NSString{xxxxxx} NSString;1. NSRange 结构体#注意结构体不是对象3种定义方式1 typedef struct _NSRange{2 int locat... 阅读全文
posted @ 2015-05-14 17:39 *新星月-倪新生* 阅读(224) 评论(0) 推荐(0)
摘要:ARC 自动引用计数ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误。 同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存。总是通过属性... 阅读全文
posted @ 2015-05-14 17:33 *新星月-倪新生* 阅读(199) 评论(0) 推荐(0)
摘要:A.概念1.用来声明方法(不能声明成员变量)2.只要某个类遵守了这个协议,相当于拥有了协议中得所有方法的声明3.属性(1)@required:默认,要求实现,不实现就会发出警告(2)@optional:不要求实现————MyProtocol.h-------------- 1 @protocol M... 阅读全文
posted @ 2015-05-14 15:56 *新星月-倪新生* 阅读(146) 评论(0) 推荐(0)
摘要:前言:NSArray对应的是java的List,不同的是其元素不能更改,不过其派生类NSMutableArray可以更改,遍历的方式跟java的List基本一样一. for循环[objc]view plaincopyStudent*stu=[Studentstudent];NSArray*array... 阅读全文
posted @ 2015-05-14 15:44 *新星月-倪新生* 阅读(243) 评论(0) 推荐(0)
摘要:A.概念1.block类似函数(1)可以保存代码(2)有返回值(3)有形参2.block的标志:^ 1 // 没有参数和返回值的block 2 void (^myblock)() = ^{ // 没有形参,可以省略() 3 NSLog(@"这是新定义的block");... 阅读全文
posted @ 2015-05-14 11:35 *新星月-倪新生* 阅读(169) 评论(0) 推荐(0)
摘要:A.ARC的基本原理1.ARC的判断原则:只有没有强指针指向对象,就会立即释放对象注意,在以下情况,会立即回收内存:(1)指针超出作用域1 {2 Person *p1 = [[Personalloc] init];3 p1.name = @"p1";4 ... 阅读全文
posted @ 2015-05-14 09:17 *新星月-倪新生* 阅读(170) 评论(0) 推荐(0)
摘要:A.内存存放、retain、release1.栈内存:存放局部变量,运行超过变量作用域自后编译器自动回收2.堆内存:存放对象(地址,对象实体)3.对象的基本结构(1)引用计数器(4字节):当计数器为0的时候被回收,初始化时为1(2)当使用alloc、new、copy创建对象的时候,计数器默认是1(3... 阅读全文
posted @ 2015-05-13 20:41 *新星月-倪新生* 阅读(187) 评论(0) 推荐(0)
摘要:A.概念1.SEL类型代表方法2.每个方法都有一个对应的SEL类型的数据3.实例对象调用方法(1)编译器会把类的方法包装成SEL类型的数据,(2)根据SEL数据找到方法地址,缓存此地址(3)根据方法地址调用相应的方法4.调用方法的方式 1 // 1.直接调用 2 [p... 阅读全文
posted @ 2015-05-13 20:39 *新星月-倪新生* 阅读(189) 评论(0) 推荐(0)
摘要:A. 实例对象打印-description1.当使用NSLog函数并且使用%@占位符的时候,会调用对象的-description方法2.拿到-description的返回值,显示到console中默认返回指针地址 1 @implementation Person 2 3 - (NSString *... 阅读全文
posted @ 2015-05-13 20:37 *新星月-倪新生* 阅读(167) 评论(0) 推荐(0)
摘要:A.概念类对象:类也是一个对象,是Class类型的对象实例对象:创建的对象,有一个isa指针指向类B.操作获取内存中的内对象1.使用实例对象获取Class c = [p class];不必使用*2.使用类获取Class c = [Person class];C.类的加载1.先加载父类,再加载子类,加... 阅读全文
posted @ 2015-05-13 20:34 *新星月-倪新生* 阅读(145) 评论(0) 推荐(0)
摘要:A.给某个类扩充方法(不改变原来的类)例如,给类Person加上名为Simon的category,加上一个-study方法使用()注明Person+Simon.h 1 @interface Person (Simon) 2 - (void) study; 3 @end 4 5 Person+Si... 阅读全文
posted @ 2015-05-13 20:30 *新星月-倪新生* 阅读(245) 评论(0) 推荐(0)
摘要:A.id万能指针,可以指向任何对象,实质是NSObject的指针,使用的时候不用加上*B.NSObject中得类方法new1.完整地创建一个可用对象步骤(1)分配存储空间 + alloc(2)初始化 - init1 // 1.调用+alloc分配存储空间2 Perso... 阅读全文
posted @ 2015-05-13 20:20 *新星月-倪新生* 阅读(180) 评论(0) 推荐(0)
摘要:Xcode编译器的特性,自动生成getter和setterA.@property自动生成某个成员变量的getter和setter的声明变量的命名要求:以下划线开头 1 2 Student.h 3 @interface Student : NSObject 4 { 5 int _age; ... 阅读全文
posted @ 2015-05-13 20:09 *新星月-倪新生* 阅读(164) 评论(0) 推荐(0)
摘要:A. 命令行编译和XCode编译1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变量或函数)解决方案:使用.h和.m文件,分开声明和定义B.XCode功能1.自动生成.h和.m2.保存... 阅读全文
posted @ 2015-05-13 20:06 *新星月-倪新生* 阅读(248) 评论(0) 推荐(0)
摘要:1.NSString基本使用使用%@占位符输出对象1 int age = 15;2 int no = 5;3 NSString *str2 = [NSString stringWithFormat:@"My age is %d and no is %d", age, no];... 阅读全文
posted @ 2015-05-13 19:57 *新星月-倪新生* 阅读(119) 评论(0) 推荐(0)
摘要:A.对象的多种形态1.父类指针指向子类对象2.调用方法的时候,会动态监测真实地对象的方法3.没有继承,就没有多态4.好处:用一个父类指针可以指向不同的子类对象5.强制转换类型之后就能使用子类特有的方法,否则会出现warning(仍可以正常运行,即不论指针类型,只要对象存在实际方法就可以运行) 1 ... 阅读全文
posted @ 2015-05-13 19:54 *新星月-倪新生* 阅读(156) 评论(0) 推荐(0)
摘要:A.继承的实现: is a1.不允许子类、父类存在相同的成员变量2.方法调用优先原则:子类调用方法的时候,优先从本类寻找,若无则向上在父类中寻找3.重写:子类重新实现父类的方法,覆盖父类之前的方法4.无论对象方法或类方法都可以重写5.缺点:致使耦合性增强6.OC只能单继承B.组合的实现: has1.... 阅读全文
posted @ 2015-05-13 19:52 *新星月-倪新生* 阅读(165) 评论(0) 推荐(0)
摘要:A.OC弱语法1.在运行的时候才会检查方法的声明和实现2.没有声明只有实现的方法也能正常运行,只要在调用之前定义即可3.类的声明必须存在,否则会出现运行时错误B.类方法1.是类名调用的方法2.使用加号修饰的方法3.类方法和对象方法可以重名4.对象方法和类方法都允许多次声明,都不允许多次定义5.类方法... 阅读全文
posted @ 2015-05-13 19:50 *新星月-倪新生* 阅读(185) 评论(0) 推荐(0)
摘要:A.封装内部细节,根据需求暴露方法 1 #import 2 3 @interface Student : NSObject 4 { 5 int age; 6 } 7 8 - (void) setAge:(int) newAge; 9 - (int) age;10 11 - (void)... 阅读全文
posted @ 2015-05-13 19:46 *新星月-倪新生* 阅读(138) 评论(0) 推荐(0)
摘要:1 /* 2 计算器类 3 1>返回π 4 2>计算两个整数的平方 5 3>计算两个整数的和 6 */ 7 8 9 #import 10 11 @interface Calculator: NSObject12 //方法名:pi13 - (double) pi;14 15 //OC方法... 阅读全文
posted @ 2015-05-13 19:44 *新星月-倪新生* 阅读(349) 评论(0) 推荐(0)