一、使用苹果帮助文档
     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. // 1.获取字符串长度
  2. NSString *string1 = [NSString stringWithFormat:@"jkaruu"];
  3. // NSLog(@"stringLength = %ld", string1.length);
  4. // 2.获取指定位置字符
  5. unichar c = [string1 characterAtIndex:];
  6. NSLog(@"c = %c", c);
  7. // 3.判断字符串的前缀 后缀
  8. BOOL isHasSuffix = [string1 hasSuffix:@"www."];
  9. NSLog(@"isHasSuffix = %d", isHasSuffix);
  10. BOOL isHasPerfix = [string1 hasPrefix:@"jk"];
  11. NSLog(@"isHasPerfix = %d", isHasPerfix);
  12. // 4.查找某个字符串在另一个字符串的范围
  13. NSString *string2 = @"蓝鸥科技有限公司";
  14. NSString *string3 = @"蓝鸥科技";
  15. // NSRange 结构体,表示范围
  16. // location:起始位置
  17. // length:长度
  18. NSRange range = [string2 rangeOfString:string3];
  19. NSLog(@"location = %ld, length = %ld", range.location, range.length);
  20. // 5.字符串截取
  21. NSString *string4 = @"hello world kitty";
  22. NSRange range1 = NSMakeRange(, );
  23. NSString *string5 = [string4 substringWithRange:range1];
  24. NSLog(@"string5 = %@", string5);
  25. // 从指定位置向前截取,不包含指定位置的下标
  26. NSString *string6 = [string4 substringToIndex:];
  27. NSLog(@"string6 = %@", string6);
  28. // 从指定位置向后截取,包含指定位置的下标
  29. NSString *string7 = [string4 substringFromIndex:];
  30. NSLog(@"string7 = %@", string7);
  31. // 6.字符串拼接
  32. NSString *string8 = @"zhangsan";
  33. NSString *string9 = @"lisi";
  34. NSString *stringL = [string8 stringByAppendingString:string9];
  35. NSLog(@"stringl = %@", stringL);
  36. // 7.字符串替换
  37. NSString *string10 = @"wangwu";
  38. NSString *string11 = [string10 stringByReplacingOccurrencesOfString:string10 withString:@"liuaoran"];
  39. NSLog(@"string11 = %@", string11);
  40. // 8.字符串比较
  41. NSInteger result = [string10 compare:string11];
  42. NSLog(@"result = %ld", result);
  43. // 判断两个字符串是否相等
  44. BOOL isEqual = [string10 isEqualToString:string11];
  45. NSLog(@"isEqual = %d", isEqual);
  46. // 9.字符串和数值的类型转换
  47. NSString *s1 = ";
  48. NSInteger strValue = [s1 integerValue];
  49. NSLog(@"strValue = %ld", strValue);
  50. // 10.字符串大小写之间的转换
  51. // 首字母大写
  52. string10 = [string10 capitalizedString];
  53. NSLog(@"string10 = %@", string10);
  54. // 全部字母大写
  55. string10 = [string10 uppercaseString];
  56. NSLog(@"string10 = %@", string10);
  57. // 全部字母小写
  58. string10 = [string10 lowercaseString];
  59. 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. // 1.拼接字符串
  2. NSMutableString *mString1 = [NSMutableString stringWithFormat:@"zhangsan"];
  3. [mString1 appendString:"];
  4. NSLog(@"mString1 = %@", mString1);
  5. // 2.插入字符串
  6. [mString1 insertString:];
  7. NSLog(@"mString1 = %@", mString1);
  8. // 3.删除字符串
  9. [mString1 deleteCharactersInRange:NSMakeRange(, )];
  10. NSLog(@"mString1 = %@", mString1);
  11. // 4.字符串替换
  12. [mString1 replaceCharactersInRange:NSMakeRange(, ) withString:@"ng"];
  13. NSLog(@"mString1 = %@", mString1);
  14. // 5.重置字符串
  15. [mString1 setString:@"zhangsan"];
  16. NSLog(@"mString1 = %@", mString1);
四、NSNumber
     1、数值类,作用:实现基本数据类型与OC对象类型的相互转化。
          1)基本数据类型(int,float等)转换为NSNumber。
          2)NSNumber转换为基本数据类型 (int,float等)。
     2、NSNumber的常用方法
  1. // 把数值对象转为基本数据类型
  2. NSNumber *number1 = [[NSNumber alloc] initWithInt:];
  3. double a = [number1 doubleValue];
  4. NSLog(@"%f", a);
  5. 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的常用方法
  1. // 创建对象
  2. NSRange range0 = NSMakeRange(, );
  3. NSValue *value1 = [NSValue valueWithRange:range0];
  4. NSLog(@"value1 = %@", value1);
  5.  
  6. // 把指针转为数值对象
  7. ;
  8. int *p = &b;
  9. NSValue *value2 = [NSValue valueWithPointer:p];
  10. NSLog(@"value2 = %@", value2);
  11.  
  12. // 把数值对象转为结构体
  13. NSRange range3 = [value1 rangeValue];
  14. NSLog(@"location = %ld, length = %ld", range3.location, range3.length);
  15.  
  16. // 把数值对象转为指针
  17. int *q = [value2 pointerValue];
  18. 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. 华为OJ平台——矩阵乘法

    题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵 ...

  2. node.js 包教不包会 (Windows版详解)

    针对@alsotang 的新手入门教程 https://github.com/alsotang/node-lessons ,详解该教程在Windows中的实践,包括博主在实践过程中遇到的问题及解决方案 ...

  3. nice和taskset命令

    taskset -c 9,10 bash domain_analysis.sh && /home/work/odp/php/bin/php hourly_localdns_hijack ...

  4. Excel2007给表格设置成只读加密属性 让他人无法修改

    在制作一些报表和公司的表格时,我们常常需要给Excel表格加密或者设置成只读属性来加以防护这些重要表格.给表格加密可以预防他人无法打开表格,只有通过输入正确的密码后才可以正常打开.设置成只读的话,可以 ...

  5. 移动端rem自适应布局关键代码

    function resi() { var html = document.querySelector("html"); var wW = document.body.client ...

  6. Mir2源码详解之服务端-登录网关(LoginGate)

    传奇这款游戏,一直对我的影响很大.当年为了玩传奇,逃课,被老师叫过N次家长.言归正传,网上有很多源码,当然了,都是delphi的.并且很多源码还不全, 由于一直学习的c.c++.delphi还真不懂. ...

  7. 搭建高性能计算环境(八)、应用软件的安装之gromacs

    1,下载安装新版本的gcc(高版本的gcc只是推荐使用的,系统自带的gcc4.4照样能正常编译.运行) wget http://ftp.tsukuba.wide.ad.jp/software/gcc/ ...

  8. CSS3中颜色线性渐变实战

    css3线性渐变可以设置3个参数值:方向.起始颜色.结束颜色.最简单的模式只需要定义起始颜色和结束颜色,起点.终点和方向默认自元素的顶部到底部.下面举例说明: CSS Code复制内容到剪贴板 .te ...

  9. 转:OpenCms 9.0.1汉化

    LHD私人汉化. 1.完成安装OpenCms 2.如果正确安装,在浏览器输入以下地址即可打开登录页面(默认账号/密码:Admin/admin) http://localhost:8080/opencm ...

  10. JavaScript计算日期间隔以及结果错误(少一天)的解决方法

    下面的代码是之前从网上某个地方COPY下来的,之前一直用着,前段时间DateDiff()方法突然出问题了,输入两个日期2015-10-01 和 2015-10-02之后,计算出来的日期是0!如果只有几 ...