OC description和sel】的更多相关文章

一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时,会调用对象的description方法,并拿到返回值进行输出. +description(类方法) 使用NSLog和@%输出某个对象时,会调用类对象的description方法,并拿到返回值进行输出,把整个对象一次性打印出来,打印对象使用%@. 使用@%打印对象如(“@%”,P)默认打印输出为<类名…
OC中的SEL对象即selector对象,用来保存一个方法的地址.下面通过一个Demo来解析SEL的原理.创建一个Person类,Person.h中: #import <Foundation/Foundation.h> @interface Person : NSObject { int age; @protected float height; } @property int age; // 编译器自动解释成 int age的get/set方法 - (void)say; - (void)te…
description方法 #import "Person.h" @implementation Person - (void) setAge : (int) age { _age = age; } /** 决定了实例对象的输出结果 **/ - (NSString *) description { return [NSString stringWithFormat : @"age=%i", _age]; } /** 决定了类对象的输出结果 **/ + (NSStri…
description方法的作用是打印对象,对于一个类,如果没有重写description方法,NSLog(@“%@”,此处写类的对象), 输出的是该类的地址如下: -- :::] <ClassRoom: 0x100210870> Program ended with exit code: 而我们想要的效果是打印出该类的成员变量, 所以我们可以在该类里重写description方法如下: -(NSString *)description{ //库方法,方法的重写 NSString *str =…
@selector(): 可以理解@selector()就是取类方法的编号,他的基本行为类似于C语言中的函数指针(指向函数的指针).它们通过传递方法的地址(或编号)来实现把方法当做参数的效果. 不过在C语言中,可以直接把一个函数名赋给一个函数指针,但是在OC中不行,而是要通过@selector语法来取.它的括号里传入的是方法名,返回结果是SEL类型,该类型本质上就是方法的编号(地址). OC中可以通过SEL类型(即方法编号)来动态的调用方法.其实OC中调用方法的本质是消息传递:系统给对象发送执行…
[Objective-C]07-自定义构造方法和description方法   // 构造方法:用来初始化对象的方法,是个对象方法,”-"开头// 重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值/* 重写构造方法的注意点1.先调用父类的构造方法([super init])2.再进行子类内部成员变量的初始化 */ // 重写-init方法//- (id)init//{//    // 1.一定要调用回super的init方法:初始化父类中声明的一些成员变量和其他属性//   …
发布自米高 | Michael - 博客园,源地址:http://www.cnblogs.com/michaellfx/p/4232205.html,转载请注明. 本文结构 基础实现 性能优化 参考 关键字:Objective-C OC description函数 自动打印属性及属性值 运行时枚举成员变量 基础实现 使用NSLog或po,Xcode默认调用对象的description方法,若没实现,则打印对象的地址,不方便查看对象的状态.特别地,在RESTful编程中,服务器返回的JSON对象往…
1.了解runtime吗?是什么? 2.你怎么知道的? 3.对象如何找到对应方法去调用的 于是我总结了很多网上被问到的一些关于runtime的题目,并做了详细的回答,并在后面补充了我在学习runtime时敲的一些代码,如果想吃透runtime的朋友,可以把后面补充的内容好好看完 一.你会被问到的关于runtime笔试题: 1. runtime怎么添加属性.方法等 2. runtime 如何实现 weak 属性 3. runtime如何通过selector找到对应的IMP地址?(分别考虑类方法和实…
前两篇介绍了类与对象.成员变量&属性&关联对象的相关知识,本篇我们将开始讲解Runtime中最有意思的一部分内容:消息处理机制.我们从一个示例开始. 在OC中,我们使用下面这种方式来调用方法: GofTest *test = [[GofTest alloc] init];[test eat]; 对上面的方法调用,我们用Runtime的消息发送机制改造一下: id test = objc_msgSend(objc_getClass("GofTest"), sel_regi…
openshift 提供了命令行工具和web可视化页面,这些工具通过REST API去和openshift交互 一.开始为开发人员使用OpenShift 1. 探索命令行 2. 探索web console 3. 部署一个docker镜像 4. 扩展应用实例 5. 路由HTTP请求 6. 从源代码构建 二.登陆到OpenShift集群 1. 通过web console登陆 2. 通过命令行去登陆 3. 与其他用户合作 4. 账户之间切换 5. 关键命令总结 三.使用odo开发 1. 应用概述 2.…