码迷,mamicode.com
首页 > 移动开发 > 详细

iOS学习之Object-C语言字符串和数值

时间:2016-03-23 21:46:07      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

一、使用苹果帮助文档
     1、帮助文档的作用:帮助开发者快速了解系统类的功能。
          1)苹果每次iOS版本的升级,都会添加或者更新大量的API,并提供相应的参考文档。
          2)开发者很难记忆所有的API(苹果帮助文档)。
          3)学会使用苹果帮助文档是开发者的一项技能。
     2、打开帮助文档:Xcode—>Help—>Documentation and API Reference。
     3、文档基本信息:Inherits from 继承关系。
                                   Conforms to 遵循什么协议。
                                   Framework 属于哪个框架。
                                   Availability 什么时候可用的。
                                   Declared in 声明在什么头文件里。
                                   Related documents 相关文档。
                                   Sample code 示例代码。
     4、快速打开帮助文档
          在代码中,将鼠标停留在类名或者方法名上,option+鼠标左键,点击Reference的超链接进入帮助文档。
        技术分享
          也可使用command+鼠标左键,进入头文件,查看类的接口部分。
     5、API与头文件的区别
          1)苹果帮助文档(API)中详细的介绍了方法的作用以及如何使用。
          2)头文件内知识简略的显示方法。
          3)当我们想详细的了解某一个类的功能的时候,使用苹果帮助文档(API)。
          4)当我们忘记某一个属性或者方法名的写法的时候,可以进入头文件进行快速查看。
 
二、NSString
     1、C语言中,字符串是由char(ASCII码)字符组成。
          OC中,字符串是由unichar(Unicode)字符组成。
          NSString:不可变字符串,即:创建以后,内容和长度不能更改。
          NSMutableString:可变字符串,即:创建以后,内容还可以修改。
     2、字符串创建
           // 初始化方法
        NSString *string = [[NSString alloc] initWithFormat:@"I love iOS!"];
     // 便利构造器
        NSString *string1 = [NSString stringWithFormat:@"I fuck iOS!"];
     // 字面量
        NSString *string2 = @"I love lanou!";
  3、NSString常用方法 
//        1.获取字符串长度
        NSString *string1 = [NSString stringWithFormat:@"jkaruu"];
//        NSLog(@"stringLength = %ld", string1.length);
//        2.获取指定位置字符
        unichar c = [string1 characterAtIndex:0];
        NSLog(@"c = %c", c);
//        3.判断字符串的前缀 后缀
        BOOL isHasSuffix = [string1 hasSuffix:@"www."];
        NSLog(@"isHasSuffix = %d", isHasSuffix);
        BOOL isHasPerfix = [string1 hasPrefix:@"jk"];
        NSLog(@"isHasPerfix = %d", isHasPerfix);
//        4.查找某个字符串在另一个字符串的范围
        NSString *string2 = @"蓝鸥科技有限公司";
        NSString *string3 = @"蓝鸥科技";
//        NSRange 结构体,表示范围
//        location:起始位置
//        length:长度
        NSRange range = [string2 rangeOfString:string3];
        NSLog(@"location = %ld, length = %ld", range.location, range.length);
//        5.字符串截取
        NSString *string4 = @"hello world kitty";
        NSRange range1 = NSMakeRange(0, 5);
        NSString *string5 = [string4 substringWithRange:range1];
        NSLog(@"string5 = %@", string5);
        // 从指定位置向前截取,不包含指定位置的下标
        NSString *string6 = [string4 substringToIndex:7];
        NSLog(@"string6 = %@", string6);
        // 从指定位置向后截取,包含指定位置的下标
        NSString *string7 = [string4 substringFromIndex:5];
        NSLog(@"string7 = %@", string7);
//        6.字符串拼接
        NSString *string8 = @"zhangsan";
        NSString *string9 = @"lisi";
        NSString *stringL = [string8 stringByAppendingString:string9];
        NSLog(@"stringl = %@", stringL);
//        7.字符串替换
        NSString *string10 = @"wangwu";
        NSString *string11 = [string10 stringByReplacingOccurrencesOfString:string10 withString:@"liuaoran"];
        NSLog(@"string11 = %@", string11);
//        8.字符串比较
        NSInteger result = [string10 compare:string11];
        NSLog(@"result = %ld", result);
        // 判断两个字符串是否相等
        BOOL isEqual = [string10 isEqualToString:string11];
        NSLog(@"isEqual = %d", isEqual);
//        9.字符串和数值的类型转换
        NSString *s1 = @"123";
        NSInteger strValue = [s1 integerValue];
        NSLog(@"strValue = %ld", strValue);
//        10.字符串大小写之间的转换
        // 首字母大写
        string10 = [string10 capitalizedString];
        NSLog(@"string10 = %@", string10);
        // 全部字母大写
        string10 = [string10 uppercaseString];
        NSLog(@"string10 = %@", string10);
        // 全部字母小写
        string10 = [string10 lowercaseString];
        NSLog(@"string10 = %@", string10);
三、NSMutableString
     1、NSMutableString是NSString类的子类。
     2、NSMutableString创建的字符串是一个动态的可变的字符串,可以对原字符串对象进行增、删、改等操作。
     3、可变、不可变区别
          1)不可变字符串——本身不能被修改。
          2)对不可变字符串的修改操作,操作的是原字符串的副本,得到的是一个新的字符串。
          3)可变字符串——本身能被修改。
          4)可变字符串修改的是原字符串,因此可变字符串的操作方法没有返回值!
     4、NSMutableString创建
           // 初始化方法
        NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"I love lanou!"];
     // 便利构造器
        NSMutableString *str1 = [NSMutableString stringWithFormat:@"i love lanou"];
  5、NSMutableString的方法
//        1.拼接字符串
        NSMutableString *mString1 = [NSMutableString stringWithFormat:@"zhangsan"];
        [mString1 appendString:@"666"];
        NSLog(@"mString1 = %@", mString1);
//        2.插入字符串
        [mString1 insertString:@"," atIndex:8];
        NSLog(@"mString1 = %@", mString1);
//        3.删除字符串
        [mString1 deleteCharactersInRange:NSMakeRange(3, 2)];
        NSLog(@"mString1 = %@", mString1);
//        4.字符串替换
        [mString1 replaceCharactersInRange:NSMakeRange(3, 3) withString:@"ng"];
        NSLog(@"mString1 = %@", mString1);
//        5.重置字符串
        [mString1 setString:@"zhangsan"];
        NSLog(@"mString1 = %@", mString1);
四、NSNumber
     1、数值类,作用:实现基本数据类型与OC对象类型的相互转化。
          1)基本数据类型(int,float等)转换为NSNumber。
          2)NSNumber转换为基本数据类型 (int,float等)。
     2、NSNumber的常用方法
 // 把数值对象转为基本数据类型
        NSNumber *number1 = [[NSNumber alloc] initWithInt:11];
        double a = [number1 doubleValue];
        NSLog(@"%f", a);
        NSLog(@"%@", number1);

     3、NSNumber字面量

          常量:
               NSNumber *intNumber = @38;
               NSNumber *charNumber = @‘w’;
          变量:
               int age = 18;
               NSNumber *ageNumber = @(age);
               char gender = ‘w’;
               NSNumber *genderNumber = @(gender);
五、NSValue
     1、完成结构体和对象类型的互转。结构体(NSRange等)转换为NSValue。NSValue转换为结构体(NSRange等)。
     2、NSValue的常用方法
 // 创建对象
        NSRange range0 = NSMakeRange(0, 3);
        NSValue *value1 = [NSValue valueWithRange:range0];
        NSLog(@"value1 = %@", value1);
        
        // 把指针转为数值对象
        int b = 10;
        int *p = &b;
        NSValue *value2 = [NSValue valueWithPointer:p];
        NSLog(@"value2 = %@", value2);
        
        // 把数值对象转为结构体
        NSRange range3 = [value1 rangeValue];
        NSLog(@"location = %ld, length = %ld", range3.location, range3.length);
        
        // 把数值对象转为指针
        int *q = [value2 pointerValue];
        NSLog(@"q = %d", *q);

 

iOS学习之Object-C语言字符串和数值

标签:

原文地址:http://www.cnblogs.com/soley/p/5311493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!