zoukankan      html  css  js  c++  java
  • OC-分类

    1.不能再分类里面添加属性, 只能添加方法。
    2.如果在分类里面使用@property,那么他只生成sette,getter的声明而没有实现。
    3.如在在分类中写了与本类同名的方法,优先调用分类里面的方法
    4.在分类里面可以访问本类里面所定义的属性
     例子:目录
    主函数main.m

    #import <Foundation/Foundation.h>

    #import "NSString+CategoryNSString.h"

     

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            NSString *str=@"abc";

            NSLog(@"%@", [str Reverser]);

            NSLog(@"%d",[str leng].intValue);

        }

        return 0;

     
    }
     
     
    类目文件:NSString+CategoryNSString.h

    #import <Foundation/Foundation.h>

    @interface NSString (CategoryNSString)

    -(NSString *)Reverser;

    -(NSNumber *)leng;

     
    @end
     
    类目文件:NSString+CategoryNSString.m
     
     

    #import "NSString+CategoryNSString.h"

     

    @implementationNSString (CategoryNSString)

    /**

     *  字符串反转函数

     *

     *  @param string 传入的字符串

     *

     *  @return 逆序后的字符串

     */

    -(NSString *)Reverser{

        NSMutableString *str=[NSMutableString string];

        for (unsigned long i=(self.length); i>0; i--) {

            [str appendFormat:@"%c",[self characterAtIndex:i-1]];

        }

        return str;

    }

    /**

     *  把字符串长度int类型变成NSNumber类型

     *

     *  @param string 出入的字符串

     *

     *  @return NSNumber,字符串的长度

     */

    -(NSNumber *)leng{

        NSNumber *num=[[NSNumber alloc]initWithUnsignedLong:self.length];

        return num;

        

    }

     
    @end
     
  • 相关阅读:
    Hibernate 之核心接口
    [综]隐马尔可夫模型Hidden Markov Model (HMM)
    [zz]利用碎片时间健身
    [zz]简单有效,在家就能锻炼!
    matlab global 不能传向量/矩阵
    [zz] 基于国家标准的 EndNote 输出样式模板
    [zz] ROC曲线
    [ZZ] Equal Error Rate (EER)
    [综] Sparse Representation 稀疏表示 压缩感知
    [zz] Principal Components Analysis (PCA) 主成分分析
  • 原文地址:https://www.cnblogs.com/fume/p/5235652.html
Copyright © 2011-2022 走看看