首页 > 代码库 > 关于Description的一些理解
关于Description的一些理解
在C语言上, 我们用来打印东西的函数叫做printf, 它是专门用来打印东西在屏幕上给我们看的, 虽然printf在OC上也可以使用, 但是有一定的局限性, 不能很好的兼容OC的一些新特性, 在此OC提供了一个名叫NSLog的打印函数, 这个函数和printf一样, 是通过@""专门用来打印一些内容显示给我们看的.
我们知道NSLog是用来打印的, 但是它是怎么运作的呢?让我们来看看它涉及哪个方法, 所以才能如此简单.
这里涉及到一个方法:
description: 这个方法其实很简单, 就是用来接受东西和返回东西的, 它会通过编译器传给它的东西进行一个封装, 形成一个新的字符串, 并且把这个新的字符串地址返回给编译器.
下面是关于它的一个简单例子:
首先我们需要创建一个类:
这个是Human的.h文件
#import <Foundation/Foundation.h>@interface Human : NSObject@end
这里是Human的.文件, 在这里我们重写了description的返回值.
#import "Human.h"@implementation Human//这里是重写了一个关于description的方法, description是什么?//description就是我们在OC上经常使用的打印函数NSLog的方法.//description会把@""里面的内容放在一个括号里, 形成一个新的字符串并且返回新字符串的地址.//用NSLog打印出来.- (NSString *)description{ return @"I am human!";}@end
这里是main.m文件
#import <Foundation/Foundation.h>#import "Human.h"int main(int argc, const char * argv[]) { @autoreleasepool { Human *human = [Human new]; NSLog(@"\n%@", human); [human release]; } return 0;}
输出的结果:
2014-10-11 20:08:23.475 Description[2217:303] I am human!Program ended with exit code: 0
关于Description的一些理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。