一、使用苹果帮助文档
     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. 6 个优秀的开源 OCR 光学字符识别工具

    转自:http://sigvc.org/bbs/thread-870-1-1.html 纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成.而过去几年,无纸化办公的概念发生了显 ...

  2. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  3. libpcap报文解析: ipv4、ipv6 @ 2014.7.2

    #include <string.h> #include <stdlib.h> #include <pcap.h> #include <stdio.h> ...

  4. Eclipse 安装Groovy插件

    摘自: http://blog.csdn.net/boonya/article/details/45399901 步骤一: 下载eclipse4.3.0,地址:http://www.eclipse.o ...

  5. SQL笔记-第一章,数据库入门

    DBMS的分类DB2.Oracle.Microsoft SQL Server.Sybase SQLServer.Informix.MySQL数据库的结构元素库 database表 table列 col ...

  6. 关于tableView的优化

    现在市场上的iOS应用程序界面中使用最多的UI控件是什么? 答案肯定是UITableView,几乎每一款App都有很多的界面是由UITableView实现的,所以为了做出一款优秀的App,让用户有更好 ...

  7. c++对象模型以及内存布局的研究

    先引出问题,看一段代码: #include <iostream> using namespace std; class A { }; class B { public: B() {} ~B ...

  8. 请注意designer中的NAME field

    If you are trying to set the value of a field through PeopleCode and that field happens to be NAME t ...

  9. phpcms v9 源码解析-1 index.php

    这个是phpcms V9 的入口文件index.php. V9程序的执行绝大多数是从这个文件开始的,但不绝对,在项目下面的api.php和plugin.php是另外的入口文件,这里我们先不做深究. 在 ...

  10. ubuntu下svn使用指南

    ubuntu下安装subversion客户端: sudo apt-get install subversion subversion-tools 详细请看 http://www.subversion. ...