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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tutucoo 中级黑马   /  2015-6-12 15:14  /  638 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不可变字符串
   OC的字符串是一个对象, 它的类型是NSString类.
   OC所以会使用自己专有的字符串, 因为这个字符串是个对象, 有很多的方法, 比外来函数如strlen等更方便, 更面向对象.
   NSString * str = @"Hello World!";
   // @"Hello World!"这个表达式表示在只读数据段里, 创建了一个NSString的对象, 内容是Hello World!, 表达式的值是该对象的地址, 只有字符串可以这样创建一个对象
  // NSString的对象是不可变的
  // NSMutableString的对象是可变的

  NSString * str2  = [[NSString alloc] initWithString: str];

  NSString * str3 = [[NSString alloc] initWithUTF8String:"HEllo World!"];
  //用C的字符串创建OC的字符串, 完成C的字符串转换成OC的字符串
  char * cString = [@"Objective-C String" UTF8String];        // 将OC字符串转换为C字符串

  NSString * str4 = [[NSString alloc] initWithFormat:@"hello %c %d %f", 'A', 3, 3.14];
  // 根据格式符, 拼接创建一个字符串, 最强大

  还有类方法[NSString stringWithString: str];
      [NSString stringWithUTF8String:"hello"];
      [NSString stringWithFormat:@"hello %d", 5];

characterAtIndex
length        // 没有尾0

转换大小写:
   uppercaseString        // 全大写
   lowercaseString        // 全小写
   capitalizedString    // 单词首字母大写
比较大小:
    isEqualToString
    compare
    hasPrefix:        // 是否包含前缀
    hasSuffix:        // 是否包含后缀

查找:
    rangeOfString           查找字符串中子串的范围, range.location  range.length

提取子串:
    subStringToIndex
    subStringFromIndex
    subStringWithRange

结构体的对象能存储在栈里, 而类的对象不能存储在栈里.

可变字符串
  NSMutableString : NSString
  NSString 的方法 NSMutableString 也能用
  传参的时候可以传NSString * 也可以传 NSMutableString *

  setString  设置或替换当前字符串内容  

  增:
      追加: appendString      appendFormat
      插入: insertString:  atIndex:
  删:
   deleteCharactersInRange
   生成range的函数NSMakeRange(2, 4);
  改:
   replaceCharactersInRange:  withString:
  查:
   rangeOfString

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马