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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩三少 中级黑马   /  2015-11-12 21:01  /  913 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2.不可变字符串
   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

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

6 个回复

倒序浏览
刚好用到 收藏了  谢谢分享
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
该学了 ,正好收藏
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
默默点赞!!!!!!!!!!!!
回复 使用道具 举报
今天第一天学OC感觉还不适应。。。加油。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马