小爷的爷

2016年6月4日

使用copy来拷贝对象

摘要: 拷贝对象 您通过将 copy 消息发送给对象,以制作对象的副本。 NSArray *myArray = [yourArray copy]; 要拷贝,接收对象的类必须遵守 NSCopying 协议。如果想要对象可供拷贝,必须采用并实施此协议的 copy 方法。 有时,当您想要确保对象的状态在使用时不会 阅读全文

posted @ 2016-06-04 13:14 小爷的爷 阅读(179) 评论(0) 推荐(0) 编辑
使用isEqual来比较对象

摘要: 比较对象 您可以使用 isEqual: 方法比较两个对象。让接收消息的对象与传入的对象进行比较;如果相同,该方法返回 YES。例如: BOOL objectsAreEqual = [obj1 isEqual:obj2]; if (objectsAreEqual) { // do something. 阅读全文

posted @ 2016-06-04 13:08 小爷的爷 阅读(623) 评论(0) 推荐(0) 编辑
使用respondsToSelector:来发现对象是否响应消息

摘要: 发现对象是否响应消息 要发现一个对象是否响应一则消息,请在该对象上调用 respondsToSelector: 方法。应用程序代码通常验证一个对象响应一则消息后,才将消息发送给该对象。 if ([item respondsToSelector:@selector(setState:)]){ [ite 阅读全文

posted @ 2016-06-04 13:05 小爷的爷 阅读(180) 评论(0) 推荐(0) 编辑
使用iskindofclass来发现对象是否是某类或其子类的实例

摘要: 发现对象是否是特定类或其子类的实例 要发现对象是否是某类或其子类的实例,请在对象上调用 isKindOfClass: 方法。当应用程序需要发现其响应的消息(实现的或继承的),它有时进行以上的检查。 static int sum = 0; for (id item in myArray) { if ( 阅读全文

posted @ 2016-06-04 13:02 小爷的爷 阅读(389) 评论(0) 推荐(0) 编辑
集合set的使用

摘要: 将无序对象储存在集合中 集合是类似于数组的一组对象,只是其中包含的项目是无序的(而数组是有序的)。您通过枚举集合中的对象,或者将过滤器或测试应用到集合,来随机访问集合中的对象(使用 anyObject 方法),而不是按索引位置或通过键访问它们。 尽管集合对象在 Objective-C 编程中不如字典 阅读全文

posted @ 2016-06-04 12:34 小爷的爷 阅读(138) 评论(0) 推荐(0) 编辑
字典的使用

摘要: 创建字典 NSDictionary 类通过初始化程序和类工厂方法,向您提供多种创建字典的方法,但是有两个类方法特别常用:dictionaryWithObjects:forKeys: 和 dictionaryWithObjectsAndKeys:(或它们对应的初始化程序)。使用前一种方法时,您传入对象 阅读全文

posted @ 2016-06-04 12:31 小爷的爷 阅读(193) 评论(0) 推荐(0) 编辑
数组的使用

摘要: 将对象按某种顺序储存在数组中 数组以有序序列储存对象。因此,一组对象的顺序很重要时,就该使用数组。例如,许多应用程序使用数组向表格视图中的行或菜单中的项目提供内容;索引为 0 的对象对应于第一行,索引为 1 的对象对应于第二行,依此类推。访问数组中对象的时间,比访问集合中对象的时间长。 创建数组 N 阅读全文

posted @ 2016-06-04 11:07 小爷的爷 阅读(201) 评论(0) 推荐(0) 编辑
对NSNumber的理解

摘要: 1.nsnumber最重要的作用是可以封装任何的值对象,就是说nsnumber对象的类型可以是任何的类型。 如nsnumber *number = @"12" nsnumber *number1 = @"12.0" nsnumber * number2 = @"12.0000000" 您甚至可以使用 阅读全文

posted @ 2016-06-04 10:45 小爷的爷 阅读(251) 评论(0) 推荐(0) 编辑
数组、字典和集合的定义

摘要: NSArray 和 NSMutableArray——数组是多个对象的有序集。通过在数组中指定对象的位置(即索引)来访问对象。数组中首个元素的索引是 0(零)。 NSDictionary 和 NSMutableDictionary——字典将其条目储存为键-值对;键是一个唯一标识符,通常是字符串,而值则 阅读全文

posted @ 2016-06-04 10:45 小爷的爷 阅读(408) 评论(0) 推荐(0) 编辑
强引用strong和弱引用weak的定义

摘要: 1.强引用表示从属关系,引用对象拥有被引用的对象。弱引用则暗示引用对象不拥有被引用的对象。一个对象的寿命是由它被强引用多少次来决定的。只要对象还存在强引用,就不会释放该对象。 注意:但是对象之间的引用如果都是强引用就会发生强引用循环,导致该对象的内存无法释放,会造成内存泄漏的问题;解决方法是:一个对 阅读全文

posted @ 2016-06-04 09:31 小爷的爷 阅读(389) 评论(0) 推荐(0) 编辑
类工厂方法的定义

摘要: 类工厂方法是一种用于分配、初始化实例并返回一个它自己的实例的类方法。类工厂方法很方便,因为它们允许您只使用一个步骤(而不是两个步骤)就能创建对象。 它们采用以下形式: + (type)className...(在这里 className 不包括任何前缀) + (type)className...(在 阅读全文

posted @ 2016-06-04 09:11 小爷的爷 阅读(188) 评论(0) 推荐(0) 编辑
alloc和初始化的定义

摘要: 1.alloc是为原始实例进行分配内存,但是还不能使用 2.初始化的作用就是将一个对象的初始状态(即它的实例变量和属性)设定为合理的值,然后返回对象。它的目的就是返回一个有用的值 阅读全文

posted @ 2016-06-04 09:04 小爷的爷 阅读(375) 评论(0) 推荐(0) 编辑
块的定义和使用

摘要: 1.定义:块是封装工作单元的对象,即可在任何时间执行的代码段。 2.作用:可作为方法和函数的参数传入,或可从方法和函数中返回。 3.块声明的格式: 4.如果一个方法定义了一个块,则该块能够调用该方法中的局部变量、参数(包括堆栈变量),以及函数和全局变量(包括实例变量);但是这些调用只能可读,只有用_ 阅读全文

posted @ 2016-06-04 09:00 小爷的爷 阅读(781) 评论(0) 推荐(0) 编辑
属性的定义以及@synthesize的使用

摘要: 1.属性通常是指某些由对象封装或储存的数据。它可以是标志(如名称或颜色),也可以是与一个或多个其他对象的关系。 2.属性的基本声明使用 @property 编译器指令,后面紧跟属性的类型信息和名称。您还可以使用自定选项来配置属性,以定义存取方法如何表现、属性是否为弱引用,以及是否为只读。 3. 如果 阅读全文

posted @ 2016-06-04 00:00 小爷的爷 阅读(301) 评论(0) 推荐(0) 编辑