原文出处:http://www.jianshu.com/p/76992dab59361、Cocoa是什么?Cocoa是OS X和 iOS操作系统的程序的运行环境。
Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。
文件系统和URL进程间通讯。 这个范畴中的大部分类代表不同的系统端口、套接字、和名字服务器,对实现底层的IPC很有用。NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。 线程和子任务。 NSThread类使您可以创建多线程的程序,而各种锁(lock)类则为彼此竞争的线程在访问进程资源时提供各种控制机制。通过NSTask,您的程序可以分出 一个子进程来执行其它工作或进行进度监控。
@interface NSObject <NSObject> {
Class isa;
}
struct NSObject{
Class isa;
}
typedef struct objc_class *Class;
struct NSObject{
objc_class *isa
}
struct objc_class {
Class isa;
Class super_class;
const char *name;
long version;
long info;
long instance_size;
struct objc_ivar_list *ivars;
struct objc_method_list **methodLists;
struct objc_cache *cache;
struct objc_protocol_list *protocols;
}
- alloc和allocWithZone:方法用于从某内存区域中分配一个对象内存,并使对象指向其运行时的类定义。
- init方法是对象初始化。
- new是一个将简单的内存分配和初始化结合起来的方法。
- copy和copyWithZone。
- retain方法增加对象的保持次数。
- release方法减少对象的保持次数。
- autorelease方法也是减少对象的保持次数,但是以推迟的方式。
- retainCount方法返回对当前的保持次数。
- dealloc方法由需要释放对象的实例变量以及释放动态分配的内存的类实现。
- superclass和class方法(实现为类和实例方法)分别以Class对象的形式返回接收者的父类和类。
- 您可以通过isKindOfClass:和isMemberOfClass:方法来确定对象属于哪个类。后者用于测试接收者是否为指定类的实例。
- isSubclassOfClass:类方法则用于测试类的继承性。
- respondsToSelector:方法用于测试接收者是否实现由选择器参数标识的方法。
- instancesRespondToSelector:类方法则用于测试给定类的实例是否实现指定的方法。
- conformsToProtocol:方法用于测试接收者(对象或类)是否遵循给定的协议。
- isEqual:和hash方法用于对象的比较。
- description方法允许对象返回一个内容描述字符串;这个方法的输出经常用于调试(“print object”命令),以及在格式化字符串中和“%@”指示符一起表示对象。
encodeWithCoder:和initWithCoder:是NSCoding协议仅有的方法。前者使对象可以对其实例变量进行编码,后者则使对象可以根据解码过的实例变量对自身进行初始化。NSObject类中声明了一些于对象编码有关的方法:
classForCoder:、replacementObjectForCoder:、和awakeAfterUsingCoder:。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |