Object-c------description
2016-05-04 17:25
507 查看
main.m
Person.m
// // main.m // description // // Created by zhaogang on 16/5/4. // Copyright © 2016年 zhaogang. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [[Person alloc] init]; p.age = 20; p.name = @"jack"; //默认情况下,利用NSLog和%@输出对象时,结果时:<类名:内存地址> /* 1. 会调用对象的p的-decription方法 2. 拿到-description方法的返回值(NSString *)显示到屏幕上 3. -description方法默认返回的是“类名+内存地址” */ NSLog(@"%@", p); Class c = [Person class]; /* 1. 会调用类的+description方法 2. 拿到+description方法的返回值(NSString *)显示到屏幕上 */ NSLog(@"%@",c); //输出当前行号和文件名 NSLog(@"%d, %s", __LINE__, __FILE__); //输出当前函数名 NSLog(@"%s", __func__); } return 0; }
Person.m
// // Person.m // description // // Created by zhaogang on 16/5/4. // Copyright © 2016年 zhaogang. All rights reserved. // #import "Person.h" @implementation Person // 决定了实例对象的输出结果 - (NSString *)description { return [ NSString stringWithFormat:@"age = %d, name = %@", _age, _name ]; } // 决定了类对象的输出结果 + (NSString *)description { return [ NSString stringWithFormat:@" Person , %p" , self]; } @end
相关文章推荐
- java基础学习总结——Object类
- Objective-C Runtime 运行时之六:拾遗
- Objective-C Runtime 运行时之五:协议与分类
- Object 类的比较
- Objective-C Runtime 运行时之三:方法与消息
- Objective-C Runtime 运行时之二:成员变量与属性
- Objective-C Runtime 运行时之一:类与对象
- 理解object notifyAll 和 condition signalAll() 区别
- 对象转JSONArray,JSONObject[包括对象中日期格式化,属性过滤]
- Windows驱动开发(6) - DRIVER_OBJECT结构体
- String转换成json格式(三):com.alibaba.fastjson.JSONObject
- Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
- String转换成json格式(二):org.codehaus.jettison.json.JSONObject
- String转换成json格式(一):net.sf.json.JSONObject
- 【Java技术点】java实现map和object互转的三种方法
- Android属性动画(ObjectAnimator、PropertyValuesHolder、ValueAnimator、AnimatorSet)
- placeholder垂直居中(解决光标居中、文字不居中问题)
- Motion-Based Multiple Object Tracking阅读
- The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?...
- Objective-C 高性能的循环