当前位置: 首页 > news >正文

做网站买一个域名就够了吗怎么制作文件

做网站买一个域名就够了吗,怎么制作文件,太原快速排名,小程序制作工具文章目录 iOS - Runtime-API1. Runtime应用1.1 字典转模型1.2 替换方法实现1.3 利用关联对象给分类添加属性1.4 利用消息转发机制#xff0c;解决方法找不到的异常问题 2. Runtime-API2.1 Runtime API01 – 类2.1.1 动态创建一个类#xff08;参数#xff1a;父类#xff0… 文章目录 iOS - Runtime-API1. Runtime应用1.1 字典转模型1.2 替换方法实现1.3 利用关联对象给分类添加属性1.4 利用消息转发机制解决方法找不到的异常问题 2. Runtime-API2.1 Runtime API01 – 类2.1.1 动态创建一个类参数父类类名额外的内存空间2.2.1.1 示例 2.2.1 注册一个类要在类注册之前添加成员变量2.2.2.1 示例 2.2.3 销毁一个类2.2.4 获取isa指向的Class2.2.5 设置isa指向的Class2.2.5.1 示例2.2.5.2 调试信息 2.2.6 判断一个OC对象是否为Class2.2.6.1 示例 2.2.7 判断一个Class是否为元类2.2.7.1 示例 2.2.8 获取父类 2.2 Runtime API02 – 成员变量2.2.1 获取一个实例变量信息2.2.2 拷贝实例变量列表最后需要调用free释放2.2.3 设置和获取成员变量的值2.2.4 动态添加成员变量已经注册的类是不能动态添加成员变量的2.2.5 获取成员变量的相关信息 2.3 Runtime API03 – 属性2.3.1 获取一个属性2.3.2 拷贝属性列表最后需要调用free释放2.3.3 动态添加属性2.3.4 动态替换属性2.3.5 获取属性的一些信息 2.4 Runtime API04 – 方法2.4.1 获得一个实例方法、类方法2.4.2 方法实现相关操作2.4.3 拷贝方法列表最后需要调用free释放2.4.4 动态添加方法2.4.5 动态替换方法2.4.6 获取方法的相关信息带有copy的需要调用free去释放 3. 示例3.1 示例13.2 示例23.3 示例3 iOS - Runtime-API 1. Runtime应用 开发过程中经常会用到Runtime比如 1.1 字典转模型 利用Runtime遍历所有的属性或者成员变量利用KVC设值 1.2 替换方法实现 class_replaceMethodmethod_exchangeImplementations 1.3 利用关联对象给分类添加属性 1.4 利用消息转发机制解决方法找不到的异常问题 2. Runtime-API 2.1 Runtime API01 – 类 2.1.1 动态创建一个类参数父类类名额外的内存空间 Class objc_allocateClassPair(Class superclass, const char *name, size_t extraBytes) 2.2.1.1 示例 // 动态创建一个类 Class newClass objc_allocateClassPair([NSObject class], ZSXDog, 0); id dog [[newClass alloc] init]; NSLog();执行结果 2.2.1 注册一个类要在类注册之前添加成员变量 void objc_registerClassPair(Class cls) 2.2.2.1 示例 // 注册类 objc_registerClassPair(newClass);2.2.3 销毁一个类 void objc_disposeClassPair(Class cls) 2.2.4 获取isa指向的Class Class object_getClass(id obj) 2.2.5 设置isa指向的Class Class object_setClass(id obj, Class cls) 2.2.5.1 示例 ZSXPerson *person [[ZSXPerson alloc] init]; [person run];// 设置isa指向的Class object_setClass(person, [ZSXCat class]); [person run];执行结果 2.2.5.2 调试信息 2.2.6 判断一个OC对象是否为Class BOOL object_isClass(id obj) 2.2.6.1 示例 ZSXPerson *person [[ZSXPerson alloc] init]; NSLog(%d %d %d, object_isClass(person), object_isClass([ZSXPerson class]), object_isClass(object_getClass([ZSXPerson class])));执行结果 2.2.7 判断一个Class是否为元类 BOOL class_isMetaClass(Class cls) 2.2.7.1 示例 NSLog(%d %d, class_isMetaClass([ZSXPerson class]), class_isMetaClass(object_getClass([ZSXPerson class])));执行结果 2.2.8 获取父类 Class class_getSuperclass(Class cls) 2.2 Runtime API02 – 成员变量 2.2.1 获取一个实例变量信息 Ivar class_getInstanceVariable(Class cls, const char *name) 2.2.2 拷贝实例变量列表最后需要调用free释放 Ivar *class_copyIvarList(Class cls, unsigned int *outCount) 2.2.3 设置和获取成员变量的值 void object_setIvar(id obj, Ivar ivar, id value)id object_getIvar(id obj, Ivar ivar) 2.2.4 动态添加成员变量已经注册的类是不能动态添加成员变量的 BOOL class_addIvar(Class cls, const char * name, size_t size, uint8_t alignment, const char * types) 2.2.5 获取成员变量的相关信息 const char *ivar_getName(Ivar v)const char *ivar_getTypeEncoding(Ivar v) 2.3 Runtime API03 – 属性 2.3.1 获取一个属性 objc_property_t class_getProperty(Class cls, const char *name) 2.3.2 拷贝属性列表最后需要调用free释放 objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount) 2.3.3 动态添加属性 BOOL class_addProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount) 2.3.4 动态替换属性 void class_replaceProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount) 2.3.5 获取属性的一些信息 const char *property_getName(objc_property_t property)const char *property_getAttributes(objc_property_t property) 2.4 Runtime API04 – 方法 2.4.1 获得一个实例方法、类方法 Method class_getInstanceMethod(Class cls, SEL name)Method class_getClassMethod(Class cls, SEL name) 2.4.2 方法实现相关操作 IMP class_getMethodImplementation(Class cls, SEL name)IMP method_setImplementation(Method m, IMP imp)void method_exchangeImplementations(Method m1, Method m2) 2.4.3 拷贝方法列表最后需要调用free释放 Method *class_copyMethodList(Class cls, unsigned int *outCount) 2.4.4 动态添加方法 BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types) 2.4.5 动态替换方法 IMP class_replaceMethod(Class cls, SEL name, IMP imp, const char *types) 2.4.6 获取方法的相关信息带有copy的需要调用free去释放 SEL method_getName(Method m)IMP method_getImplementation(Method m)const char *method_getTypeEncoding(Method m)unsigned int method_getNumberOfArguments(Method m)char *method_copyReturnType(Method m)char *method_copyArgumentType(Method m, unsigned int index) 3. 示例 3.1 示例1 // 动态创建一个类 Class newClass objc_allocateClassPair([NSObject class], ZSXDog, 0); // 添加成员变量 class_addIvar(newClass, _age, 4, 1, encode(int)); class_addIvar(newClass, _weight, 4, 1, encode(int)); // 动态添加方法 class_addMethod(newClass, selector(run), (IMP)run, v:);// 注册类 objc_registerClassPair(newClass);id dog [[newClass alloc] init]; [dog setValue:10 forKey:_age]; [dog setValue:20 forKey:_weight]; [dog run];NSLog(% %, [dog valueForKey:_age], [dog valueForKey:_weight]);// 在不需要的时候释放 dog nil; //需要先释放示例对象 objc_disposeClassPair(newClass); //注销类执行结果 3.2 示例2 interface ZSXPerson : NSObjectproperty (nonatomic, assign) int age; property (nonatomic, copy) NSString *name;end// 获取成员变量信息 Ivar ageIvar class_getInstanceVariable([ZSXPerson class], _age); NSLog(%s %s, ivar_getName(ageIvar), ivar_getTypeEncoding(ageIvar));// 设置和获取成员变量的值 Ivar nameIvar class_getInstanceVariable([ZSXPerson class], _name);ZSXPerson *person [[ZSXPerson alloc] init]; object_setIvar(person, nameIvar, 123); // object_setIvar(person, ageIvar, 10); //不能直接这样设置 object_setIvar(person, ageIvar, (__bridge id)(void *)10); //需要转成指针变量NSLog(% %d, person.name, person.age);执行结果 3.3 示例3 interface ZSXPerson : NSObjectproperty (nonatomic, assign) int age; property (nonatomic, copy) NSString *name;end// 成员列表数量 unsigned int count; Ivar *ivars class_copyIvarList([ZSXPerson class], count); // 遍历打印成员变量 for (int i 0; i count; i) {// 取出 i 位置的成员变量Ivar ivar ivars[i];NSLog(%s %s, ivar_getName(ivar), ivar_getTypeEncoding(ivar)); }执行结果 oubijiexi
http://www.pierceye.com/news/859358/

相关文章:

  • 做电影网站还能赚钱云南网站建设哪家公司好
  • 重庆定制网站开发什么是网络营销战略
  • 网站建设硬件方案精准客源app
  • 网站视觉优化怎么做电子商务网站建设参考文献2018
  • 服务器可以吧网站做跳转吗wordpress 远程图片本地化
  • 网站在线访谈栏目建设个人网站可以备案了吗
  • 汉口北做网站搜索广告是什么
  • 电商网站可以用dw做嘉兴网站建设平台
  • 做网站是数据库应该放在哪里建筑工程水平防护网
  • vps网站无法通过ip访问网站怎么做的支付宝接口
  • 怎么创建一个博客网站网站的c4d动画是怎么做的
  • 西安做企业网站科技论文发表网
  • html 手机网站开发企业做网站的合同
  • 建立wordpress网站吗全州建设完小网站
  • 网站域名注册证书是什么制作WordPress友情链接
  • 如何在解决方案中新建网站html网页制作的软件下载
  • 企业网站怎么做优化开小加工厂去哪接单子
  • 网站建设推广费怎么做账域名和网站绑定
  • 商丘网站建设想象力网络中国流量最大的网站排行
  • 网站是否有备案网站集约化建设建议
  • 浏览器收录网站网上做图赚钱的网站
  • 网站建设优化过程中的优化策略相关文章 wordpress
  • 泉州网站深圳航空公司官网首页
  • 百度推广整体优化网站整体软装设计公司
  • 太原搜索引擎优化招聘信息服务好的镇江网站优化
  • 自己做网站下载怎么网站基础知识域名5个点
  • 网站搭建合作协议wordpress注册页面插件
  • 网络公司最好的是哪个兰州网络推广优化怎样
  • 网站文章采集工具新网站怎么做流畅
  • discuz 手机网站模板山东省住房建设厅网站首页