• 关于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(@"
    %@", human);
    
            [human release];
        }
        return 0;
    }

    输出的结果:

    2014-10-11 20:08:23.475 Description[2217:303] 
    I am human!
    Program ended with exit code: 0
  • 相关阅读:
    如何去重一个Oracle表
    配置Eclipse来开发Java 程序
    在windows上使用opera mini
    Oracle OLAP 介绍
    一个Batch作业调度系统构思
    how to Use Subversion with TortoiseSVN
    java official Design Pattern
    how to install ubuntu OS combined with Windows
    确保DWBI项目成功的几个关键点
    spinner 读取sqlite
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4019697.html
Copyright © 2020-2023  润新知