NSObject定义

2017-03-19  本文已影响74人  李某lkb

NSObject可以说是OC类的万物之源了,今天我们就来好好看看他的定义.

/* NSObject.h
Copyright (c) 1994-2012, Apple Inc. All rights reserved.
*/

ifndef OBJC_NSOBJECT_H

define OBJC_NSOBJECT_H

if OBJC

include <objc/objc.h>

include <objc/NSObjCRuntime.h>

@class NSString, NSMethodSignature, NSInvocation;

//定义了一个名为NSObject的协议.
@protocol NSObject

@property (readonly) Class superclass;//父类.

//执行一个包装方法.与普通相比,它可以执行到runtime阶段时候才有的方法.下面的不带参数,带一个参数,带两个参数.

//是否从NSObject继承下来的.

//引用计数器加一

//接受者的描述.%@ 打印的东西
@property (readonly, copy) NSString *description;
@optional
//同上,不过是在Debug模式下的.
@property (readonly, copy) NSString *debugDescription;

@end

OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0)
OBJC_ROOT_CLASS
OBJC_EXPORT
//正式开始定义NSObject了.
@interface NSObject <NSObject> {
//类指针.
Class isa OBJC_ISA_AVAILABILITY;
}
//触发,当类或者分类加入Runtimel的时候.

if NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER

NS_DESIGNATED_INITIALIZER

endif

;

//不知道

@end

endif

endif

上一篇 下一篇

猜你喜欢

热点阅读