zoukankan      html  css  js  c++  java
  • Snail—OC学习之类别Category

    类别就是向类加入一些实用的功能或者方法 利于开发 类能够是系统类、能够是自己定义类

    类别跟子类是不一样的。类别仅仅能加入一些方法 属性变量什么的不能够加入

    不创建新类,就可以对已有类进行扩展

    做项目的时候 跟其它程序猿会更好的合作

    新建类别的图放在最后面

    我们为系统类NSArray加入一个打印方法 使得能输出中文
    界面例如以下

    然后再NSArray+MyNSLog.h中声明一个函数

    #import <Foundation/Foundation.h>
    
    @interface NSArray (MyNSLog)
    
    - (NSString *)printChinese;
    
    @end
    

    然后再NSArray+MyNSLog.m中实现

    #import "NSArray+MyNSLog.h"
    
    @implementation NSArray (MyNSLog)
    
    - (NSString *)printChinese{
        
        NSMutableString * string = [[NSMutableString alloc] init];
        [string appendString:@"{
    "];
        //我们是位系统类NSArray加入一个能打印出中文的功能 即以下的self是指的我们要输出的数组
        //即就是要输出中文的数组
        for (int i = 0; i < self.count; i++) {
          //字符串能够输出中文
          [string appendFormat:@"	%@,
    ",self[i]];
        }
        [string appendFormat:@"}"];
        
        return string;
    }
    
    @end

    在main.m中仅仅需引入类别的头文件就可以 假设是自己定义的类 也是仅仅需把类别的头文件进入就可以

    #import <Foundation/Foundation.h>
    #import "NSArray+MyNSLog.h"
    
    int main(int argc, const char * argv[])
    {
    
        @autoreleasepool {
            
            NSArray * array = @[@"我是",@"蜗牛",@"Snail"];
            //系统的输出结果 中文已乱码
            /*
             (
             "U6211U662f",
             "U8717U725b",
             Snail
             )
             */
            NSLog(@"%@",array);
            
            //当我们用加入的那个功能输出时 中文能够输出来
            /*
             {
             我是,
             蜗牛,
             Snail,
             }
             */
            NSLog(@"%@",[array printChinese]);
        }
        return 0;
    }
    

    以下把新建类别的图附上

    首先,新建的适合选择以下这个文件

    下一步,然后 在第一行 写你自定义的类别名称  第二行 是你要为哪个类加入类别

    然后下一步 保存就可以,就能够看到新建出来了一个类似类的两个文件

  • 相关阅读:
    Vim step by step
    Ubuntu解压命令全览
    这样才能使本地Mysql服务允许被外部主机连接(两步)
    [Python] logging.logger
    Python Selenium
    MySQL中char、varchar和text的区别
    Way to MongoDB
    Python误区之strip,lstrip,rstrip
    Android Studio Tips
    Way to tmux
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6726437.html
Copyright © 2011-2022 走看看