01.基本操作
1. 反射 NSString,Class,SEL,Protocol
NSString,Class,SEL,ProtocolFOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);
FOUNDATION_EXPORT SEL NSSelectorFromString(NSString *aSelectorName);
FOUNDATION_EXPORT NSString *NSStringFromClass(Class aClass);
FOUNDATION_EXPORT Class _Nullable NSClassFromString(NSString *aClassName);
FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));
FOUNDATION_EXPORT Protocol * _Nullable NSProtocolFromString(NSString *namestr) API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));2. 动态创建一个类
创建一个继承
NSObject的类,设定类名并初始化;为这个类增加一个实例变量,通过KVC给这个实例变量赋值。
为这个类增加一个方法,在这个方法中打印一些值。
通过这个类的实例调用新增的方法。
3. 获取一个类的所有方法
class_copyMethodList
实例方法
类方法
4. 获取一个类的所有成员变量
class_copyIvarList
5. 获取一个类的所有属性变量
class_copyPropertyList
6. 获取协议列表
7. 动态给一个类新增一个方法
8. 动态增加实例变量
9. 动态改变对象的某个变量值
可以是属性变量(注意加 _ ),也可以是私有的全局变量
10. 属性关联
略
11. 交换方法
略
参考
Last updated
Was this helpful?