
OC
ImYangy
我做不了十几岁的少年天才,但愿到三十多岁能成为一个优秀工程师
展开
-
OC学习 -- 浅拷贝和深拷贝
浅拷贝和深拷贝区别是什么?浅拷贝就是指 指针的赋值 深拷贝就是开辟了一个新的空间在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存. 深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存. 采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误. Person *per1 = [[Person alloc]init];原创 2015-08-10 16:56:03 · 511 阅读 · 0 评论 -
OC学习 -- KVC
KVC概述KVC是KeyValue Coding的简称,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。当使用KVO、Core Data、CocoaBindings、AppleScript(Mac支持)时,KVC是关键技术。如何使用KVC关键方法定义在:NSKeyValueCodingprotocol原创 2015-08-09 21:30:02 · 400 阅读 · 0 评论 -
OC学习 -- 加号和减号方法的区别
在OC中,方法分为类方法和实例方法。前置加号(+)的方法为类方法,这类方法是可以直接用类名来调用的,它的作用主要是创建一个实例。有人把它称为创建实例的工厂方法。前置减号(-)的方法为实例方法,必须使用类的实例才可以调用的。原创 2015-08-09 21:24:32 · 4867 阅读 · 0 评论 -
OC学习 -- instancetype和id的异同
instancetype和id的异同1、相同点都可以作为方法的返回类型2、不同点①instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;②instancetype只能作为返回值,不能像id那样作为参数原创 2015-08-09 21:23:00 · 726 阅读 · 0 评论 -
OC学习 -- Category(类目)
category 类目,分类 为没有源代码的类添加方法 一旦添加成功就相当于原来类具有该方法category 包括两个部分1: @interface + 类名(为哪一个类添加分类) + (分类名) + @end 进行方法的声明2: @implementation + 类名(为哪一个类添加分类) + (分类名) + @end 进行方法的实现什么是Cate原创 2015-08-09 21:21:40 · 491 阅读 · 0 评论 -
OC学习 -- Extension
Extension 延展 为有源代码的类 添加私有的实例变量和私有的方法形式: @interface + 类名(当前类名) + () + @end 进行私有实例变量 和 私有方法的声明@interface MyClass : NSObject @property (retain, readonly) float value; @end //一般的原创 2015-08-09 20:58:31 · 444 阅读 · 0 评论 -
OC学习 -- NSDate和NSDateFormatter
#pragma mark - NSDate 日期类 { //获取当前的时间 NSDate *date = [NSDate date]; NSLog(@"%@",date); //获取东八区的当前时间 NSDate *now = [NSDate dateWithTimeIntervalSinceNow:8 *原创 2015-08-09 20:57:22 · 528 阅读 · 0 评论 -
OC学习 - Protocol delegate
Procotol 协议 iOS开发常用技术 协议是一套标准(一套方法声明) 一般只有.h文件 没有父类也不能定义实例变量,只声明方法,声明未知类的接口,两个类之间的通信@required :必须实现。默认@optional :选择性的实现NSObject为基本类根类也为基协议,可以写也可以不写Delegate : 代理代理设计模式:两个对象协同解决难题,用于原创 2015-08-09 20:55:44 · 428 阅读 · 0 评论 -
OC学习 -- Property
属性是OC2.0 之后出现的语法 帮我们生产setter 和 getter 方法的声明//@property NSString *name;//@property 关键字//NSString * 属性类型(和对应的实例变量类型一致)//name 属性名(决定了 setter getter方法名)//帮我们生成 name的setter (setName:) 和 getter (n原创 2015-08-09 20:53:59 · 514 阅读 · 0 评论 -
OC习题 -- 切分字符串 处理色值和名称 (知识点: 字典,枚举,数组,字符串)
/* 处理工程文件crayons.txt中的文本信息,文本内容是关于颜色的,每行都是一 个颜色的信息,例如:Almond #EED9C4,前⼀一个字符串是颜色的名称,后一 个字符串是颜⾊色的16进制色值,处理⽂文本完成如下需求: 1、使用字典管理所有的颜色,即字典中存储的是多个键值对,颜⾊色名称为 key,16进制颜色值(不带#)是value。 2、取出所有的key,升序排列。 3、取原创 2015-08-05 13:00:16 · 722 阅读 · 0 评论 -
OC习题 通讯录 (知识点: 字典 封装 字符串 数组 枚举)
/* 1、定义联系⼈人类Contact。实例变量:姓名(拼音,首字母大写)、性别、电话号码、 住址、分组名称、年龄。方法:自定义初始化⽅方法(姓名、电话号码)、显示联系⼈人信息 2、在main.m中定义字典,分组管理所有联系⼈人。分组名为26个⼤大写的英⽂文字⺟母。 3、可以添加联系人对象,如果姓名或电话号码为空,添加失败。添加联系⼈人到匹配的分 组。 4、获取某个分组名称下所有联原创 2015-08-05 10:30:51 · 1126 阅读 · 0 评论 -
OC学习 -- NSString NSMutableString NSArray NSMutableArray NSNumber(详解)
#pragma mark – NSString1: initWithString 直接赋值常量字符串对象例如: NSString =*str = @”yangyang”;2:stringWithstring 相当于直接赋值例如:NSString *str =@”yyy”; 3:initWithFormat : 通过传入的格式化字符串进行字符串对象的创建例如: NSSt原创 2015-08-01 09:46:18 · 684 阅读 · 0 评论 -
OC中@property和@synthesize的用法
@代表“Objective-C”的标志,证明您正在使用Objective-C语言@property与@synthesize配对使用的功能:让编译好器自动编写一个与数据成员同名的方法声明来省去读写方法的声明。格式:声明property的语法为:@property (参数1,参数2) 类型 名字;如:C代码 @prope原创 2015-05-18 09:53:20 · 588 阅读 · 0 评论