description方法是NSObject自带的方法,包括类方法和对象方法
来源:互联网 发布:如何学习seo 编辑:程序博客网 时间:2024/05/16 07:30
1.description方法是NSObject自带的方法,包括类方法和对象方法
+ (NSString *)description; // 默认返回 类名- (NSString *)description; // 默认返回 <类名:内存地址>
2.默认情况下利用NSLog和%@输出对象的时返回的就是类名和内存地址
3.修改NSLog和%@的默认输出:重写类对象或者实例对象的description方法即可。因为NSLog函数进行打印的时候会自动调用description方法
/******************************** Person.h文件*********************************/#import <Foundation/Foundation.h>@interface Person : NSObject+ (NSString *)description;- (NSString *)description;@property int age;@property NSString *name;@end/******************************** Person.m文件*********************************/#import "Person.h"@implementation Person#pragma mark 类对象输出的结果+ (NSString *)description{ return @"AAA";}#pragma mark 实例对象输出的结果- (NSString *)description{ // NSLog(@"%@",self); 引发死循环 return [NSString stringWithFormat:@"name = %@ age = %d",_name,_age];}@end/******************************** main.m文件***********************************/#import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * argv[]){ Class c = [Person class]; NSLog(@"%@",c); Person *person = [[Person alloc] init]; person.name = @"John"; person.age = 20; // 执行NSLog函数的时候会调用description方法默认返回<类名/对象名: 地址> NSLog(@"%@",person); }
/**************************** 丰富日志输出 **********************************/#import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * argv[]){ Person *person = [[Person alloc] init]; // 打印person对象地址 NSLog(@"%@",person); // <Person: 0x100200ae0> // 打印person指针的地址 NSLog(@"%p",person); // 0x100200ae0 对象和指针地址一致 // 指针变量的地址 NSLog(@"%p",&person);// 0x7fff5fbff8e8 // NSLog不能%s无法输出带有中文的文件路径,可以用c语言中的printf和%s来代替 // NSLog(@"%s",__FILE__); printf("%s",__FILE__); // 输出当前方法 NSLog(@"%s",__FUNCTION__); // 返回 main }
0 0
- description方法是NSObject自带的方法,包括类方法和对象方法
- 关于NSObject类的description方法和isEqual/==
- NSObject的描述(+description)方法和对象的描述(-description)方法,NSLog默认输出的修改(后知后觉)
- [Objective-C] 复写NSObject的description方法
- 05-自定义构造方法和description方法(%@带打印一个对象的时候,会调用这个方法)
- NSObject类的定时方法。
- NSObject的常用方法
- NSObject的isEqual:方法
- NSObject 的 load 方法
- NSObject的常见方法
- NSObject的内省方法
- NSObject的方法说明
- Array对象自带的方法
- Obbjective-c - description方法和 description方法的重写
- description方法和SEL
- description方法和SEL
- NSObject的load和initialize方法
- NSObject的load和initialize方法
- 第十周项目3利用二叉树遍历思想解决问题
- java泛型
- 高屋建瓴-------谈观看朱老师视频有感
- Mysql 查看连接数,状态
- DLMS电能表通讯协仪
- description方法是NSObject自带的方法,包括类方法和对象方法
- Servlet规范简介
- 项目1.4--哈弗曼编码的算法验证
- Android-内功篇-Intent-Flag详解
- 第十周项目3【利用二叉树遍历思想解决问题】(2)
- iOS开发之textfield(自用帖)
- C语言strstr函数
- JAVA泛型详解
- 第九周实践项目3—稀疏矩阵的三元组表示的实现及应用(1)