zoukankan      html  css  js  c++  java
  • Foundation框架2

    NSMutableString

    • NSMutableString和NSString的区别
      • NSString是可变的,里面的文字内容是不能进行修改的
      • NSMutableString是可变的,里面的文字内容可以随时更改
    • NSMutableString能使用NSString的所有方法

    NSMutableString的常用方法

    • - (void)appendString:(NSString *)aString;
      • 拼接aString到最后面
    • - (void)appendFormat:(NSString *)form,...;
      • 拼接一段格式化字符串到最后面
    • - (void)deleteCharactersInRange:(NSRange)range;
      • 删除range范围内的字符串
    • - (void)replaceCharactersInRange:(NSRange)range withString: (NSString *)aString;
      • 使用aString替换range范围内的字符串

    NSArray

    • 什么是NSArray
      • NSArray是OC中的数组类,开发中建议尽量使用NSArray替代C语言中的数组
    • C语言中数组的弊端
      • int array[4] = {10,89,27,76}
        • 只能存放一种类型的数据
        • 不能很方便的动态添加数组元素
        • 不能很方便的动态删除数组元素
    • NSArray的使用注意
      • 只能存放任意OC对象,并且是有顺序的
      • 不能存储非OC对象,比如intfloatdoublecharenumstruct等
      • 它是可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素

    NSArray的创建

    • NSArray常见的创建方式有
    + (instancetype)array;
    + (instancetype)arrayWithObject:(id)anObject;
    + (instancetype)arrayWithObjects:(id)firstObj, ...;
    + (instancetype)arrayWithArray:(NSArray *)array;
    
    + (id)arrayWithContentsOfFile:(NSString *)path;
    + (id)arrayWithContentsOfURL:(NSURL *)url;
    
    • 可以将一个NSArray保存到文件中
    - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
    - (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;
    

    NSArray的检索

    • - (NSUInteger)count;
      • 获取集合元素个数
    • - (id)objectAtIndex:(NSUIteger)index;
      • 获得index位置的元素
    • - (BOOL)containsObject:(id)anObject;
      • 是否包含某一个元素
    • - (id)lastObject;
      • 返回最后一个元素
    • - (id)firstObject;
      • 返回最后一个元素
    • - (NSUInteger)indexOfObject:(id)anObject;
      • 查找anObject元素在数组中的位置(如果找不到,返回-1)
    • - (NSUInteger)indexOfObject:(id)anObject inRange: (NSRange) range;
      • 在range范围内查找anObject元素在数组中的位置

    NSArray的简写

    • 自从2012年开始,Xcode的编译器多了很多自动生成代码的功能,使得OC代码更加精简
    • 数组的创建
      • 之前
        • [NSArray arrayWithObjects:@"Jack",@"Rose",@"Jim",nil];
      • 现在
        • @[@"Jack",@"Rose",@"Jim"];
    • 数组元素的访问
      • 之前
        • [array objectAtIndex:0];
      • 现在
        • array[0];

    NSArray给所有元素发消息

    • - (void)makeObjectsPerformSelctor:(SEL)aSelector;
    • - (void)makeObjectsPerformSelctor:(SEL)aSelector withObject:(id)argument;
      • 让集合里面的所有元素都执行aSelector这个方法

    NSArray遍历元素

    • 遍历,就是将NSArray里面的所有元素一个一个取出来查看
    • 常见的遍历方式有
      • 普通遍历
        • for (int i = 0;i<array.count; i++) {}
      • 快速遍历
        • for (id obj in array) {}
      • Block遍历
        • [array enumerateObjectsUsingBlock:^(id obj, NSUInteger iddx, BOOL *stop) { }];

    NSArray于NSString

    • - (NSString *)componentsJoinedByString:(NSString *)separator;
      • 这是NSArray的方法,用separator作拼接符将数组元素拼接成一个字符串
    • - (NSArray *)componentsSeparatedByString:(NSString *)separator;
      • 这是NSString的方法,将字符串用separator作为分隔符切割成数组元素

    NSMutableArray

    • 什么是NSMutableArray
      • NSMutableArray是NSArray的子类
      • NSArray是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素
      • NSMutableArray是可变的,随时可以往里面添加更改删除元素

    NSMutableArray添加元素

    • - (void)addObject:(id)object;
      • 添加一个元素
    • - (void)addObjectsFromArray:(id)anObject atIndex: (NSUInteger)index;
      • 在index位置插入一个元素
  • 相关阅读:
    Caused by: Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.
    走到头儿的外企之路——北漂18年(45)
    [ERROR] XML Parser Error on line 11: 注释中不允许出现字符串 "--"
    Unknown lifecycle phase "mybatis-generator-generate"
    org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException
    windows expect-5.21r1b1-setup.exe 下载链接
    linux下C语言实现静态IP地址,网关的设置
    OpenSSL “心脏滴血”漏洞
    linux 让root用户可以telnet
    perl 创建文本框
  • 原文地址:https://www.cnblogs.com/saurik/p/4834414.html
Copyright © 2011-2022 走看看