A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨光0618 中级黑马   /  2016-8-27 19:40  /  1023 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.Foundation框架
  • 基本是所有不包含用户界面的一个基础框架

  • NSString
  • NSURL
  • NSMutableString
  • NSArray
  • NSMutableArray
  • NSNumber
  • NSValue
  • NSDictionary
  • NSMutableDictionary
  • NSFileManager
  • NSDate
  • NSData
  • CGPoint
  • CGSize
  • CGRect
  • copy
  • 单例

2.NSString类
  • NSString是一个类,定义在Foundation框架中
  • NSString用来创建一个字符串数据的
  • NSString是OC中最常用的对象,为了快速创建NSString对象,OC提供了一种更为快捷的方式创建NSString对象,使用@符号
    • NSString *str = @"jack";
    • str中存储的是”jack”的地址
    • %p是打印指针变量的值
    • %@是打印指针变量指向的对象,NSString这个类重写了对象的Description方法
  • 存储在内存中的字符串对象,无论在堆区还是在常量区,字符串内容是无法更改的
    • 为NSString指针重新赋值一个字符串的时候,并不是修改原来的字符串内容,而是重新在内存中创建一个字符串,把地址赋值给NSString指针
    • 在常量区创建字符串的时候,会先检查常量区有没有相同的字符串,如果有,那么会直接把地址赋值给要创建的NSString指针
    • 在堆区创建字符串的时候,不会检查常量区,但在堆区创建的时候,原理和在常量区一样
  • 常量区的数据是不会被回收的,字符串同理
    • 不回收的原因是为了提高效率
    • 因为下次不用创建字符串对象了
  • 最常用得到几个方法
    • 得到字符串的长度
      • [str length];
      • 对象方法
    • 得到下标的字符
      • [str characterAtIndex:int];
      • 返回值是unichar,打印的时候最好使用%C
      • 对象方法
    • 以拼接的方式组成一个新的字符串
      • + (instancetype)stringWithFormat:(NSString *)format,…
      • NSString *str = [NSString stringWithFormat:@“%04d年%02d月%02日”,1988,2,1];
    • 判断两个字符串是否相等
      • - (BOOL)isEqualToString:(NSString *)aString;
    • 将C语言的字符串转换为OC字符串对象
      • + (nullable instancetype)stringWithUTF8String:(const char *)nullTerminatedCString;
    • 将OC字符串转换为C语言字符串
      • [str UTF8String];
      • 返回值是char *类型
      • 对象方法
  • 常用的方法
    • 将字符串写入到文件当中
      • - (BOOL)writeToFile:(NSString *)path atomically:(BOOL) useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;
      • [str writeToFile:(路径) atomically:(多线程) encoding:(编码方式) error:(报错原因的地址)];
      • NSString *str = @"hhhh";
           
        [str writeToFile:@"/Users/Phoenix/Desktop/demo.txt" atomically:NO encoding:4 error:nil];
    • 从指定的文件中读取字符串
      • NSString *arr = [NSString stringWithContentsOfFile:@"/Users/Phoenix/Desktop/demo.txt" encoding:4 error:nil];
      • (路径)  (编码方式,一般使用NSUTF8Encoding)  (报错原因地址)
  • 从URL中获取字符串
    • NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
    • NSString *arr = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
      • 从URL读取数据
    • BOOL demo = [str writeToURL:url atomically:NO encoding:NSUTF8StringEncoding error:nil];
      • 往URL存储数据
      • 返回值为BOOL类型,代表是否写入成功
  • 字符串比较
    • - (NSComparisonResult)compare:(NSString *)string;
      • 比较字符串的大小
    • int len = [str1 compare:str2 options:NSCaseInsensitiveSearch];
      • 指定选项的比较
      • 忽略大小写比较str1和str2两个字符串
      • 参数
        • NSNumericSearch
          • 比较两个字符串中数字的大小
        • 枚举参数:具体在API里看
    • hasprefix
      • 判断字符串是否以指定字符串开头
    • hasSuffix
      • 判断字符串是否以指定字符串结尾

1 个回复

倒序浏览
全面,收藏了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马