美文网首页
OC常用方法

OC常用方法

作者: FunkyRay | 来源:发表于2017-06-29 20:03 被阅读25次

    类的判断方法:

    • isKindOfClass: 判断指定的对象是否是某一个类,或者是某一个类的子类
    • isMemberOfClass: 判断指定的对象是否是当前指定的类的实例
    • isSubclassOfClass: 判断指定的对象是否是某一个类的子类

    类加载方法:

    • load: 只要程序启动就会将所有类的代码加载到内存中,放到代码区
      load方法会在当前类被加载到内存的时候调用,有且仅会调用一次
    • initialize: 当前类第一次被使用的时候就会调用(创建类对象的时候)
      initialize方法在整个程序的运行过程中只会被调用一次,无论你使用多少次这个类都只会调用一次

    加载路径方法:

    • NSURL URLWithString: 用该方法加载本地路径,可以省略主机地址,但路径中最前面的/不能省略,/代表根路径
    • NSURL fileURLWithPath: 用该方法加载本地路径,可以省略file://
      一般加载本地路径时用该方法,路径中包含中文也可以进行访问
      注意: 如果URL中包含中文,又非不通过fileURLWithPath创建,也可以编译
      如果想编译就必须在创建URL之前先对字符串中的中文进行处理,进行百分号编码
    NSString *path = @"file://192.168.199.199/Users/NJ-Lee/Desktop/lnj.txt";
    path = @"file:///Users/NJ-Lee/Desktop/lnj.txt";
      NSURL *url = [NSURL URLWithString:path];
    
     NSString *path = @"/Users/NJ-Lee/Desktop/未命名文件夹/lnj.txt";
    NSURL *url = [NSURL fileURLWithPath:path];
    
    NSString *path = @"file:///Users/NJ-Lee/Desktop/未命名文件夹/lnj.txt";
    path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    

    字符串的常用方法:

    1.字符串之间的比较方法:

    • isEqualToString: 比较的是两个字符串的"地址"是否相同
    • compare: 比较的是字符串的大小,也就是ASCII
    • caseInsensitiveCompare: 忽略大小写进行比较

    2.字符串的搜索方法:

    • hasPrefix: 判断是否以什么开头
    • hasSuffix: 判断是否以什么结尾
    • rangeOfString: 判断字符串中是否包含什么内容,如果包含该字符串内容, 那么就会返回该字符串的起始位置以及该字符串的长度
    • rangeOfString:options: 可以选择查找的顺序(从左至右还是从右至左)

    3.字符串的截取方法:

    • substringWithRange: 返回的是截取后的一个新的字符串
    • substringFromIndex: 从什么地方开始截取, 一直截取到最后
    • substringToIndex: 从开头开始截取, 一直截取到什么位置

    4.字符串的替换方法:

    • stringByReplacingOccurrencesOfString: withString:
      OccurrencesOfString:要替换谁
      withString:用谁替换
    • stringByTrimmingCharactersInSet: 替换首尾内容

    5.字符串与路径:

    • isAbsolutePath: 判断是否是绝对路径
    • lastPathComponent: 获取文件路径中的最后一个目录
    • stringByDeletingLastPathComponent: 删除文件路径中的最后一个目录,本质就是删除最后一个 / 后面的内容, 包括 / 也会被删除
    • stringByAppendingPathComponent: 给文件路径添加一个目录,本质就是在字符串的末尾加上一个/和指定的内容
      注意:如果路径后面已经有了 / , 那么就不会添加了;如果路径后面有多个 / , 那么会自动删除多余的 / , 只保留一个
    • pathExtension: 获取路径中文件的扩展名;本质就是从字符串的末尾开始查找 . , 截取第一个 . 后面的内容
    • stringByDeletingPathExtension: 删除路径中文件的扩展名;本质就是从字符串的末尾开始查找 . ,删除第一个 .. 后面的内容
    • stringByAppendingPathExtension: 给文件路径添加一个扩展名;本质就是在字符串的末尾加上一个 . 和指定的内容

    6.字符串的转换:

    • uppercaseString: 将字符串转换为大写
    • lowercaseString: 将字符串转换为小写
    • capitalizedString: 将字符串的首字符转换为大写

    数组常用方法:

    1.给NSArray中的所有对象方法发消息:

    • makeObjectsPerformSelector: 如果使用OC数组存储对象, 可以调用OC数组的方法让数组中所有的元素都执行指定的方法
      注意:如果数组中保存的不是相同类型的数据, 并且没有相同的方法, 那么会报错

    2.对数组内的元素进行排序:

    • sortedArrayUsingSelector: 想使用compare方法对数组中的元素进行排序, 那么数组中的元素必须是Foundation框架中的对象, 也就是说不能是自定义对象
    • sortedArrayWithOptions: usingComparator: 比较自定义对象排序;
      该方法默认会按照升序排序
    NSArray *arr = @[@10, @20, @5, @7, @15];
    NSArray *newArr = [arr sortedArrayUsingSelector:@selector(compare:)];
    
    Person *p1 = [Person new];
    p1.age = 10;
    
      Person *p2 = [Person new];
    p2.age = 20;
        
     Person *p3 = [Person new];
     p3.age = 5;
        
     Person *p4 = [Person new];
     p4.age = 7;    
     NSArray *arr = @[p1, p2, p3, p4];
    
      NSArray *newArr = [arr sortedArrayWithOptions:NSSortStable usingComparator:^NSComparisonResult(Person *obj1, Person *obj2) {
           return obj1.age > obj2.age;
     }];
    

    3.NSArray和NSString之间转换方法:

    • componentsJoinedByString: 将数组中的元素拼接成字符串
    • componentsSeparatedByString: 将字符串通过某个分隔符转换成数组,也叫字符串切割

    相关文章

      网友评论

          本文标题:OC常用方法

          本文链接:https://www.haomeiwen.com/subject/umsvcxtx.html