一、使用苹果帮助文档
     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. Java基础整理(1)

    1.源代码的文件名必须与公共类(public)的类名一致,而且一个源代码文件中最多只能有一个公共类(public) 2.注释: 3种 行注释  以双斜线  //  开始 段落注释  /*  注释内容 ...

  2. Android SharedPreferences 见解

    今天突然遇到了SharedPreferences问题,虽然以前用过,但从没有深入的了解一下,今天就顺便深入了解一下,并总结一下,防止以后忘记. SharePreferences是Android平台上一 ...

  3. 安全终止MFC线程

    终止线程 有两种情况可以使线程结束:控制函数结束或者根本就不允许线程完成,而提前终止它.我们可以想象在WORD中进行后台打印,如果打印结束了,那线程就可以结束了.如果用户中止了打印,那后台打印线程也要 ...

  4. No valid host was found. There are not enough hosts available

  5. SQL Server T-SQL高级查询(转)

    高级查询在数据库中用得是最频繁的,也是应用最广泛的.   Ø 基本常用查询   --select select * from student; --all 查询所有 select all sex fr ...

  6. CentOS安装rpm包时error:Failed dependencies

    CentOS6.5安装rpm包时报错,error:Failed dependencies,解决方法如下: 在安装命令后加两个参数 --nodeps --force ,即安装时不再分析包之间的依赖关系而 ...

  7. Openvz特点和分析

    OpenVZ是开源软件,是基于Linux平台的操作系统级服务器虚拟化解决方案.OpenVZ采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,Virutozzo是SWsoft公司提供的商业 ...

  8. Tomcat启动过程(三):从SocketProcessor到Container

    1.Http11Protocol中的内部类Http11ConnectionHandler,执行其process方法 if (processor == null) { processor = creat ...

  9. 502 bad gateway 错误

    在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的m ...

  10. webservice简介以及简单使用

    本文主要是简单的介绍webservice是什么.webservice的由来.webservice的作用,以及后面会介绍webservice的使用. webservice是什么? 目前,Web serv ...