OC基本知识和总结
文章平均质量分 67
yaozhaodi
这个作者很懒,什么都没留下…
展开
-
冒泡排序以及一些基本格式
1.类名 *变量名 = [ [类名 alloc] 初始化]; 类名 *变量名 = [类名 便利构造器];2.使用枚举for (类型 *变量 in 集合){}如果集合是 数组 枚举的是元素如果是字典 枚举的是 key如果是集合 枚举的是元素冒泡排序:原创 2014-07-08 21:25:06 · 758 阅读 · 0 评论 -
OC 中 浅 copy 和 深 copy
跟 retain 不同,一个对象想要 copy, 生成自己的副本,需要实现 NSCopying 协议,定义 copy 的细节 (如何copy). 如果类没有接受 NSCopying 协议而给对象发送 copy 消息,会引起 crash.原创 2014-07-08 22:52:10 · 425 阅读 · 0 评论 -
OC 属性的属性 点语法的使用 KVC
为属性提供了一些关键字用以控制setter,getter的实现细节这些关键字我们称为属性的属性一共3大类(attribute):第一类 : 读写性控制:(readonly readwrite setter getter )默认的是: readwrite1.readonly 告诉编译器,只声明getter方法(无 setter)例如:@property(read原创 2014-07-08 22:24:29 · 492 阅读 · 0 评论 -
容器类的内存管理
数组中的对象每次加入数组中对象的引用计数器都会加1,每当数组中的元素移除的时候对象的引用计数器都会减1,对于不可变的数组不能移除对象,当数组的引用计数器为0的时候,会逐一的清除数组中的对象,collection可以自己管理自己的内存,不可变对象进行复制的时候如果是copy那么相当于retain,得到的也是不可变的数组,可变的对象经过copy之后得到的时不可变对象,但此时是深拷贝,引用计数器不变原创 2014-07-08 23:03:29 · 569 阅读 · 0 评论 -
类目 Category Extension 协议 Protocol
扩展:1.子类 subclass2.分类 Category3.Extension4.ProtocolCategoryCategory 也叫类名或类目只要作用:在 没有源代码 的类加方法,但是不可以加实例变量 扩展系统 第三方通过 Category 添加的方法会成为原类的一部分,从而达到扩展一个类的功能如何添加 Category 的方法:1.原创 2014-07-08 22:08:58 · 432 阅读 · 0 评论 -
Block 语法
格式: 返回值 (^变量名)(参数列表) = ^返回值 (参数列表){ 实现代码 };原创 2014-07-08 21:58:52 · 387 阅读 · 0 评论 -
OC 的一些总结
OC DetailOC的类和对象1、 在头文件导入的时候,为什么要用“”而不是“”如果引入的文件是自己的文件,而不是系统文件,使用双引号; 2、- (void)setName:(NSString*)name;对象的单个参数赋值通用表达式为对象设置名字为(NSString*) 3、[类或者对象名 方法]这是对象的单个参数调用方法的原创 2014-07-08 23:01:49 · 528 阅读 · 0 评论 -
字典(容器)集合
常用方法NSMutableArray 数组 - addObject - count - removeObjectAtIndex:NSMutableDictionary 字典 - objectForKey - setObject:forKey: - removeObjectForKey:字典原创 2014-07-08 21:44:59 · 397 阅读 · 0 评论 -
OC 内存管理(初级)
初级:内存问题体现在两个方面1.内存溢出:一旦超出内存上限,程序就会 Crash2.野指针异常:对象内存空间已经被系统回收,仍然使用指针操作这块内存.野指针异常是程序 crash 的主要原因.内存管理的方式:垃圾回收 (gc)MRC (Manual Reference Count) 人工引用计数ARC (Auto Reference Count) 自动引用原创 2014-07-08 22:27:58 · 397 阅读 · 0 评论 -
OC 的基本属性
属性不是变量,不能混淆一.属性的声明:使用@property声明属性例如:@property NSString *name;相当于@interface中声明了两个方法:- (void)setName:(NSString *)name;- (NSString *)name;二.属性的实现使用@synthesize实现属性例如:@synthe原创 2014-07-08 22:14:55 · 352 阅读 · 0 评论 -
内存管理以及分配
前面有类型的 叫定义前面无类型的 叫使用alloc 开辟空间,并且把空间清零init 初始化 为0一.栈区://凡是在函数体内 和 方法体内 定义 的变量都存储在栈区(包括形参)//栈的特点是,先进后出.先定义的变量,先入栈,后定义的变量后入栈.//调用函数时,函数中的变量会陆续入栈,函数调用结束时,变量陆续出栈//栈区内存的分配与回收 由 系统自原创 2014-07-08 20:55:38 · 319 阅读 · 0 评论 -
字面量
//字面量 literals字面量 NSDate*date=[NSDatedateWithTimeIntervalSinceNow:10];//距离现在的时间 NSDate*date1=[NSDatedateWithTimeIntervalSince1970:10];//距离1970年的时间 NSDat原创 2014-07-08 23:06:30 · 605 阅读 · 0 评论 -
关于 OC 中的属性
属性一般不加下划线 声明的属性对应setter方法中的形参,而不是实例变量,这一点一定要注意注意:实现属性的时候,name=_name代表将形参和实例变量建立关系,而不是赋值可以把相同类型的属性定义在一行,但是最好不要这么做,因为这样会降低程序的可读性,我们一般都是一个属性定义一次.@synthesize name=_name;可以省略,如果你定义了实例变量_name,那么Xc原创 2014-07-08 22:58:38 · 649 阅读 · 0 评论 -
NSDate
1.NSDate 的几个基本方法* + date 获取当前的时间 * + dateWithTimeIntervalSinceNow: 创建一个距离现在时间 x秒的时间* + dateWithTimeInterval:sinceDate:创建一个距离某一个时间 x秒的时间* + dateWithTimeIntervalS原创 2014-07-08 22:12:59 · 372 阅读 · 0 评论 -
OC 内存高级管理
//当你关心的内容,用一个变化另一个不变化,用 copy//当你关心的是内存地址,一个改变,另一个改变,用 retain原创 2014-07-08 22:48:33 · 418 阅读 · 0 评论 -
API 基本文档 (基本常用,以及总结)
第一个:NSString创建 initWithFormat:或者 stringWithFormat//1.求字符串长度 - length://2.判断字符串是否相等- isEqualToString://3.字符串替换- stringByReplacingOccurrenceOfString:withString://4.字符串拼接- stringByAp原创 2014-07-08 21:42:51 · 496 阅读 · 0 评论