一、使用苹果帮助文档
     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:];
        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(, );
        NSString *string5 = [string4 substringWithRange:range1];
        NSLog(@"string5 = %@", string5);
        // 从指定位置向前截取,不包含指定位置的下标
        NSString *string6 = [string4 substringToIndex:];
        NSLog(@"string6 = %@", string6);
        // 从指定位置向后截取,包含指定位置的下标
        NSString *string7 = [string4 substringFromIndex:];
        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 = ";
        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:"];
        NSLog(@"mString1 = %@", mString1);
//        2.插入字符串
        [mString1 insertString:];
        NSLog(@"mString1 = %@", mString1);
//        3.删除字符串
        [mString1 deleteCharactersInRange:NSMakeRange(, )];
        NSLog(@"mString1 = %@", mString1);
//        4.字符串替换
        [mString1 replaceCharactersInRange:NSMakeRange(, ) 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:];
        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(, );
        NSValue *value1 = [NSValue valueWithRange:range0];
        NSLog(@"value1 = %@", value1);

        // 把指针转为数值对象
        ;
        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语言字符串和数值的更多相关文章

  1. iOS学习08之C语言内存管理

    本次主要学习和理解C语言中的内存管理 1.存储区划分 按照地址从高到低的顺序:栈区,堆区,静态区,常量区,代码区 1> 栈区:局部变量的存储区域 局部变量基本都在函数.循环.分支中定义 栈区的内 ...

  2. iOS学习07之C语言指针

    本次随笔主要是为了学习和理解C语言中的指针,指针树状图如下: 1.访问数据的两种方式 1> 直接访问:定义变量后,直接访问变量 ; printf("a = %d\n", a) ...

  3. IOS 学习笔记 2015-03-24 OC-API-不可变字符串

    大部分是模仿// // main.m // OC-API-不可变字符串 // // Created by wangtouwang on 15/3/25. // Copyright (c) 2015年 ...

  4. C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)

    1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...

  5. ios学习之旅---c语言函数

    1.函数的概述 C源程序是由函数组成的. 尽管在前面各章的程序中大都仅仅有一个主函数main(),但有用程序往往由多个 函数组成. 函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能. C语 ...

  6. 【IOS学习】【Swift语言】

    基本语法: OS X playground 引入 import Cocoa IOS playground 引入 import UIKit 基本数据类型 let 定义常量 定义完成之后无法修改 var ...

  7. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  8. 李洪强iOS开发之零基础学习iOS开发】【02-C语言】01-概述

    前面已经给大家介绍了iOS开发相关的一些基础知识,其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言.iOS开发需要学习的主要程序设计语言有:C语言.C+ ...

  9. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

随机推荐

  1. 洛谷P1613 跑路

    P1613 跑路 176通过 539提交 题目提供者该用户不存在 标签倍增动态规划 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 这个题的数据.. 题意问题 表意 题目描述 小A的工作不仅繁 ...

  2. 华为OJ平台——统计字符串中的大写字母

    题目描述: 统计字符串中的大写字母的个数 输入: 一行字符串 输出: 字符串中大写字母的个数(当空串时输出0) 思路: 这一题很简单,直接判断字符串中的每一个字符即可,唯一要注意的一点是输入的字符串可 ...

  3. java学习之(接口)

    使用接口 接口不能用于创建实例,但接口可以用于声明引用类型变量.当使用接口来声明引用类型变量时,这个引用类型变量必须引用到其实现类的对象.除此之外,接口的主要用途就是被实现类实现.归纳起来,接口主要有 ...

  4. 通用简单的 分页 SQL

    select                ID,TITLE,CONTENT,USERNAME,REALNAME,UNIT,UNITID,NOWTIMES,ACCEPTERID,ACCEPTERNAM ...

  5. Volume serial number could associate file existence on certain volume

    When it comes to lnk file analysis, we should put more emphasis on the volume serial number. It coul ...

  6. javaSE第一天

    第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5)语言    2 (6)人机交 ...

  7. 捣蛋phpwind之WindFrameWork

    一直都有关注phpwind这个开源产品,从9.0开始就好关注拉,因为官方说把之前的代码重写了一遍,融入了windFramework这个框架,代码真的挺优美的,今日在做社区的一些功能,心血来潮就参考了p ...

  8. 如何添加localizable.strings本地化

    1.在Supporting Files文件夹右键,NewFile… -> iOS -> Resources -> String Files,命名为Localizable.string ...

  9. 爱拼图游戏android源码完整版

    这个是一款爱拼图游戏源码完整版,该游戏源码比较完整的,可以支持音乐的播放在游戏的玩的过程中,还可以控制系统的声音等,可以支持多种图片的选择来进行玩的,还可以根据自己的爱好选择不同的难度来的,级别分为: ...

  10. 类名 对象名 =new 类名();

    类名 对象名 =new 类名();该怎么理解 类名 对象名 =new 类名();=左边:创建一个类的对象=右边:调用这个类的构造函数初始化对象,类名()这个是构造函数,用来做初始化的.