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
     
  • 相关阅读:
    Mvc自定义HtmlHelper
    Mvc动作过滤器
    UIview需要知道的一些事情:setNeedsDisplay、setNeedsLayout
    移动UIButton
    UIControlEventTouchEnter
    objective 修改plist文件
    单例模式笔记
    IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
    UINavgationController一些使用技巧
    cocos2d 学习笔记
  • 原文地址:https://www.cnblogs.com/fume/p/5235652.html
Copyright © 2011-2022 走看看