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

一、使用苹果帮助文档

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);
时间: 2024-10-13 12:02:25

iOS学习之Object-C语言字符串和数值的相关文章

IOS学习之路——Swift语言(1)——基本类型、运算符与逻辑控制语句

一.变量 变量标识符必须以字符包括Unicode编码字符.美元字符$.下划线_开头,不能以数字开头,不能包含空格.更不能使用关键字命名. swift中变量的声明使用var关键字,常量的声明使用let关键字. 1 var name="Swift"; 2 var version=2.2; 3 let company:String="Apple"; 变量的声明: 1. 可以使用,逗号分割变量来同时声明多个变量 2. 可以使用:类型来同时指明多个变量的类型 在Mac中可以使

IOS 学习的几种语言

Objcet-C语言,简称oc.其实就是语法 Swift语言,2015年发布的语言,到今年的应用, html语言,就是网页 javascript语言,简称js,这个一般与html紧密配合,现在已经非常流行了,好多app都有这种网页的嵌套 React-native这个也可以开发IOS和Android两种,这个已经流行了 c,c++,这2门语言,c是面向过程,c++是面向对象的语言.因为程序员这个行业是属于计算机,刚开始学习都会让你学习c语言,所以你还必须得懂c,不然看不懂底层,好多api都是用c写

IOS学习之路——Swift语言(2)——基本类型与函数

一.可选型 为什么会有可选型?当一个变量被希望表示为某一个指定的类型值,同时也被希望在某种情况下表示为空.那么就需要一个可选型.Optional 可选型的语法是在Swift的基本类型后面添加 ? 符号,如 Int? String?  可选型如果取值为空,那么表示为 nil 如果想定义一个可选型的变量,那么需要显示的声明为可选型.可选型变量打印时显示Optional 可选型变量需要进行解包(unwrap)才能与其他的变量进行运算. 解包: 1. 强制解包,使用 ! 关键字,强制解包是具有风险的,当

ios学习总结--常用的字符串操作

本文总结一下我们常用的字符串的基本操作,在此与大家分享学习. 1.字符串的创建以及初始化 string:方法:创建字符串 NSString *str1 = [NSString string]; str1 = @"Test1"; stringWithstring:方法:用字符串来创建字符串 1 NSString *str2 = [NSString stringWithString:str1]; UTF8String:方法:NSString转换成C字符串 NSString *str2 =

IOS学习笔记---C语言第四天

1 //?生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外?一个数组中 2 #import <Foundation/Foundation.h> 3 4 int main(int argc, const char * argv[]) 5 { 6 7 int num1[10]={0},num2[10]={0},num3[10]={0}; 8 for (int i = 0; i<10; i++) { 9 num1[i]=arc4random()%2

iOS学习笔记---oc语言第五天

字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key-value对)的数据 对于“name:张三”来讲,key就是“name”,key对应的value是“张 三” 一个key-value对认为是一个元素(实体),字典是存储key-value对 的容器. 特点: 与数组不同,数组靠下标存取数据,数组的下标是唯一的. 字典靠key存取元素.key不能重复,

iOS学习笔记---oc语言第四天

字符串 数组 一.使用苹果帮助文档 学会使?用苹果帮助?文档是开发者的?一项技能 Inherits from 继承?自 Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可?用的 Declared in 声明在什么头文件?里 Related documents 相关文档 Sample code ?示例代码 快速打开帮助文档 在代码中,将?鼠标停留在 类名或者?法名上,option+?鼠标左键,点击 Reference的超链接进?入帮助?文档

iOS学习笔记---c语言第十天

动态内存分配 一.存储区划分 从低到高(内存地址小----内存地址大)  :  代码区---常量区---静态区---堆区---栈区 栈内存 //凡是在函数体内定义的变量 都存储在栈区(包括形参). int a = 10;//a也是在栈区域里面 float b = 1.5;//b也是在栈区域里面 char c = 'b'; double d = 3.14; printf("%p %p %p %p\n",&a,&b,&c,&d); //栈的特点先进后出,先定

iOS学习笔记---c语言第十一天

函数指针 一.函数指针定义 //函数声明:声明我是一个什么函数 //求两个数的和 //函数的类型:int (int x,int y) //即:我是一个返回值为整型,有两个整型参数的函数. //函数名是 sum int sum(int x,int y); 函数指针定义p是变量,其他是类型(通常没有形参a,b) //函数指针类型 int (*)(int x,int y) //描述:指向 返回值为 int 两个int参数 的 指针类型 //函数指针变量: p //初始值 : sum printf("%