摘要:
+ (void)initialize; “+” 表示这是一个类方法- (instancetype)init;“-” 表示这是一个实例方法/*封装:@interface 是建立类的关键字,相当于C++ 中的class。类的名字继承于NSObject,并且对NSObject只有单继承,和public 继... 阅读全文
摘要:
get /set 方法的作用当类中的属性被设置为私有时,需要用get/set方法来存取属性。set()是给属性赋值的,get()是取得属性值的 被设置和存取的属性一般是私有 主要是起到封装的作用,不允许直接对属性操作 set()和get()不一定同时存在,看程序需求File “person.m”#i... 阅读全文
摘要:
NSInteger:long 类型NSUInteger:unsigned long 类型NSValueNSNumber#import int main(int argc , char * argv[]){@autoreleasepool{// 调用类方法将int类型的值包装成NSNumber对象NS... 阅读全文
摘要:
程序多次创建类的对象没有多大意义,还有可能造成系统性能下降。如果一个类始终只能创建一个实例,这个类称为单例类.单例类可以通过static全局变量来实现.#import @interface DCSingle : NSObject+(id) instance ;@end#import "DCSingl... 阅读全文
摘要:
Object-c 里面的指针类型有两种1、编译时的类型,由申明该变量时使用的类型决定2、运行时的类型,由运行时实际付给该变量的对象决定如果编译时和运行时的类型不一致,就可能出现多态(Polymorphism)。#import @interface DCBase : NSObject-(void) b... 阅读全文
摘要:
除了id类型外,指针变量只能调用它编译时类型的方法。而不能调用它运行时类型的方法,即使它实际所指向的对象包含该方法。如果需要让这个指针变量调用运行时类型的方法,就需要强制类型转换。#import int main(int argc, const char * argv[]) { @autore... 阅读全文
摘要:
判断指针变量实际指向的对象可以是否为某个类、某个子类的实例,如下方法:-(Bool)isKindOfClass:className 判断是否为对象是否为ClassName或其子类的实例-(Bool)isSubclassOfClass:ClassName 判断是否为ClassName的子类实例... 阅读全文
摘要:
Point:1、Oc 中不支持多继承。动态调用。2、派生类的数据成员不能和基类重名,若重名,系统将不会定义成功3、基类的成员函数可以和基类的成员函数重名(作用相当于C++中的虚函数)4、派生类中若要调用基类中的方法可以用[super 方法名]的方法。5、Object-C 具有单继承的特点,每个子类... 阅读全文
摘要:
Object-C 提供了NSValue 和NSNumber来封装C语言基本类型,这样就可以让他们具有面向对象的特征。NSInteger : 大致等于 long 型整数NSUInteger : 相当于 unsigned long CGFloat : 在64位平台上相当于 double,32 为平台上... 阅读全文
摘要:
description 方法是NSObject 的一个实例方法,所有继承NSObject基类的类都具有该方法。用于“描述自我”,当执行该方法师,系统将输出该对象的自我描述信息。NSObject 类提供的 description 方法总是返回,如果需要更详细的描述类,需要自己定义description... 阅读全文
摘要:
Object-C 的动态特征允许使用类别为现有的类添加新方法,并且不需要创建子类,不需要访问原有类的源代码。通过使用类别,可以动态的为现有的类添加新方法,而且可以将类定义模块化的分布到多个相关文件中。point:1、定义类名必须是该项目中没有的类,而定义类别时使用的类名必须是已有的类2、定义类别时必... 阅读全文
摘要:
作用类似于接口。用于多个类应该遵守的方法。协议定义的时多个类共同的公共行为规范,这些行为是于外部交流的通道,这就意味着协议里通常是定义一组公用方法,但不会为这些方法提供具体实现,方法的实现交给类去实现。同一个类的内部数据、和方法的实现细节完全相同,但是类是一种具体实现。而协议则规定了一种规范,协议定... 阅读全文