OC中的类扩展】的更多相关文章

类扩展 是在原有类的基础扩展一个新的属性和对象方法 但是方法的实现还是要写在原有的声明中,不然是不会被访问到的 类扩展可以扩展在新的头文件中,然后在主函数中导入. 利用类扩展可以变相的实现属性的私有化 就是用户可以访问到属性,但是不可以修改和赋值…
1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc相当于c++或者java中的new(为对象分配空间),init相当于java或者c++中的构造方法,对应的都要使用[]括起来. 2.NSLog(@"Hello,World!");类似于printf,格式化输出@+“字符串”=NSString*对象,为oc的字符串常量(这个地方有点不理解)…
一.类别(category) 类别(category)——通过使用类别,我们可以动态地为现有的类添加新方法,而且可以将类定义模块化地分不到多个相关文件中.通常只在类别中定义方法.(类别,接口部分的定义,通常该文件命名为已有"类+类别名.h") 我们知道,如果一个函数在.h文件中无声明而在.m文件中定义它的实现,那么该方法就是私有方法,只能在本类的文件中使用.  若我们在类别的接口部分声明这个方法,那么我们就可以实现对该私有方法的访问. 二.扩展(extension) 扩展(extens…
类别(category)--通过使用类别,我们能够动态地为现有的类加入新方法.并且能够将类定义模块化地分不到多个相关文件里.通常仅仅在类别中定义方法. 类别,接口部分的定义,通常该文件命名为已有"类+类别名.h" @interface 已有类 (类别名) //.......方法实现 @end 比如.考虑为NSNumber添加一个类别,则接口部分代码例如以下 #import <Foundation/Foundation.h> @interface NSNumber (code…
数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA…
只有继承和协议需要引IMPORT "头文件"; 必须接受marryprotocol协议, id<marryprotocol>基于类型的限定, 才能给实例变量赋值 @property (nonatomic, assign) id<marryprotocol> husband; 避免Optitonal没有实现的功能 if ([_husband respondsToSelector:@selector(driver)]) { [_husband driver]; }…
数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 @interface NSEnumerator : NSObject <NSFastEnumeration> - (id)nextObject; @end @interface NSEnumerator (NSExtendedEnumerator) @property (readonly, copy) NSArray *allObje…
1. 类的定义 >用关键字@interface进行声名  @end 结束 >所有的类有一个基类NSobject >类名 也是标示符 第一个字母大写 如果多个字母组成 每个单词的首字母大写 >类名  冒号":"后  是父类(继承父类) >成员变量 (属性)  用大括号{ }包含起来 >方法的声明用两种  +号表示类方法(类名调用)  -表示实例方法9(对象调用) 以下是Person类的声明: #import <Foundation/Foundat…
OC分类(类目/类别) 和 类扩展 - 全解析   具体见: oschina -> MyDemo -> 011.FoundationLog-OC分类剖析 http://blog.csdn.net/u013378438/article/details/44491703     关于OC分类,非常重要的知识点:   >>分类能够对实例方法,类方法进行扩展,但不能够添加类的属性及实例变量. >>分类能够像类本身一样,调用self来访问类的方法,属性. 但对于通过新建.h与.m…
今天在研究swift的时候看到了分类和扩展.这是两个十分重要有用的功能,但是之前用的不多,没有深入了解过,在今天就从头理一遍. 一.分类(Category): 概念: 分类(Category)是OC中的特有语法,它是表示一个指向分类的结构体的指针.原则上它只能增加方法,不能增加成员(实例)变量.具体原因看源码组成: Category源码: Category Category 是表示一个指向分类的结构体的指针,其定义如下: typedefstructobjc_category *Category;…