黑马程序员技术交流社区

标题: oc基础笔记2 [打印本页]

作者: 韩三少    时间: 2015-11-12 21:01
标题: oc基础笔记2
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

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

作者: 神陪我流浪    时间: 2015-11-12 21:42
刚好用到 收藏了  谢谢分享
作者: 歪歪头    时间: 2015-11-13 23:32
谢谢分享
作者: 蜗牛飞翔    时间: 2015-11-13 23:35
该学了 ,正好收藏
作者: 蜗牛飞翔    时间: 2015-11-14 23:11
谢谢分享
作者: yufang1993    时间: 2015-11-14 23:47
默默点赞!!!!!!!!!!!!
作者: huihui1030    时间: 2015-11-15 00:22
今天第一天学OC感觉还不适应。。。加油。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2