《ios_OC》字符串NSString,数组NSArray,NSNumber数值与字符串的转换
2015-09-08 21:18
393 查看
一:字符串NSString
(一)不可变字符串NSString:增删查改的实现:
// c语言中字符串是由char(ASCII)字符组成
char sex='1';
char *sex1="hjkk";
char *sex2[2]={"male","famle"};
printf("%s",sex2[1]);
//oc里面字符串是由unichar(unicode)码组成
//不可变字符串NSString,长度内容都是不可变的
//1\创建一个常量字符串,字面量,也就是直接把值赋给它,语法糖
NSString *str=@"哈哈哈哈哈";
NSLog(@"%@",str);
//2\创建一个格式化的字符串,并实现字符串的拼接
{
NSString *str1=[[NSString alloc]initWithFormat:@"%@师傅被抓走了",str];
NSLog(@"%@",str1);
NSString *str2=[NSString stringWithFormat:@"%@师傅又被抓走了",str];
NSLog(@"%@",str2);
NSString *str3=[NSString stringWithFormat:@"%@ %@",str1,str2];
NSLog(@"%@",str3);
//通过另外一个字符串创建字符串
NSString *str4=[[NSString alloc]initWithString:str3];
NSLog(@"%@",str4);
}
// NSString *str5=[[NSString alloc]initWithString:@"哈哈哈哈"];//建议不这么写,因为等价于 NSString *str5=@"哈哈哈哈"
//一:字符串的截取。字符串的常用方法,无论怎样,本来的字符串都不会发生变化
{
//1)、字符串的截取substringFromIndex,表示从某个字符开始截取字符串
NSString *str11=@"helloworld";
NSString *str12=[str11 substringFromIndex:5];//表示从字符串的第五个字符开始截取剩下的字符串,从零开始的
NSLog(@"%@",str12);
//2)方法substringToIndex从开始到哪里进行截取
NSString *str13=[str11 substringToIndex:5];//表示从开始截取到第5个字符串,但不要第五个,从零开始
NSLog(@"%@",str13);
//3)方法substringWithRange:范围来截取
NSRange range={5,4};//第一个表示开始的地方,第二值表示取多长,但不可以超过剩下的长度
NSString *str14=[str11 substringWithRange:range];
NSLog(@"%@",str14);
}
//二:字符串的拼接。stringByAppendingString
{
NSString *str11=@"helloworld";
NSString *str21=[str11 stringByAppendingString:@"你好!"];
NSLog(@"%@",str21);
}
//三:字符串的比较内容是否一样:格式:“字符串1 isEqualToString:字符串2”返回值是bool类型的
{
NSString *str11=@"helloworld";
NSString *str21=[str11 stringByAppendingString:@"你好!"];
bool result= [str11 isEqualToString:str21];
if (result) {
NSLog(@"两个字符串一样");
}else
{
NSLog(@"不一样");
}
//字符串的比较
NSComparisonResult comResult=[str11 compare:str21];
switch (comResult) {//switch语句是选择开关语句
case NSOrderedAscending:
NSLog(@"str11比str21小");
break;
case NSOrderedSame:
NSLog(@"str11和str21一样大小");
break;
case NSOrderedDescending:
NSLog(@"str11比str21大");
default:
break;
}
}
//四:判断字符串的开头和结尾
{
NSString *str41=@"jane.avi";
//(1)是否以某某开头
bool result41= [str41 hasPrefix:@"jane"];
if (result41) {
NSLog(@"珍妮");
}else{
NSLog(@"不是珍妮");
}
//(2)是否以某某结尾,可以用于判断是否是图片、电影的后缀
bool result42=[str41 hasSuffix:@".avi"];
if (result42) {
NSLog(@"以avi结尾的,这是一部电影");
}else{
NSLog(@"不是以avi结尾的");
}
//(3)判断是否包含某一个字符串
bool result43=[str41 containsString:@"jan"];
if (result43) {
NSLog(@"包含了jan");
}else
{
NSLog(@"不包含jan");
}
}
//五:大小写转换
{
NSString *str51=@"Helloword candy! i like ios";
//全部转换成大写的
NSString *str52=[str51 uppercaseString];
NSLog(@"%@",str52);
//全部变成小写
NSString *str53=[str51 lowercaseString];
NSLog(@"%@",str53);
//每个单词的首字母大写
NSString *str54=[str51 capitalizedString];
NSLog(@"%@",str54);
}
//六:c语言字符串和oc语言的字符串的相互转换
{
//将c字符串转换成oc字符串
NSString *str61=[[NSString alloc]initWithUTF8String:"呵呵呵"];
NSLog(@"%@",str61);
//将oc语言的字符串转换成c语言的字符串
const char *cStr=[str61 UTF8String];
printf("%s\n",cStr);
}
//七、字符串的替换
{
//(1)根据指定进行替换
NSString *str71=@"helloword helloword";
NSString *str72=[str71 stringByReplacingOccurrencesOfString:@"word" withString:@"逗比"];
//把前面的所有的word换成后面的“逗比”字符串
NSLog(@"%@",str72);
//(2)根据范围进行替换,NSMakeRange(5, 5)这是表示从第五个开始替换掉原来的那五个字符,替换的字符串长度没有限制的,如@"hahahahah"并不是五个字符
NSString *str73=[str71 stringByReplacingCharactersInRange:NSMakeRange(5, 5) withString:@"hahahahah"];
NSLog(@"%@",str73);
}
(二)可变字符串NSMutablestring
//可变字符串 NSMutableString都是不可变字符串的子类,则,上面不可变字符串的方法,都可以继承使用,继承于NSString
//可变字符串的初始化:
NSMutableString *mstr=[[NSMutableString alloc]initWithString:@"ione"];
//1/插入字符串,在本身去插入,没有返回值
[mstr insertString:@"Ph" atIndex:1];
NSLog(@"%@",mstr);
//2/删除字符串,范围删除NSMakeRange(4, 2),下标为4的开始删除2个字符位置
[mstr deleteCharactersInRange:NSMakeRange(4, 2)];
NSLog(@"%@",mstr);
//3、替换,操作的也是本身
[mstr replaceCharactersInRange:NSMakeRange(1, 2) withString:@"ha"];
NSLog(@"%@",mstr);
//4\拼接
[mstr appendString:@"6s"];
NSLog(@"%@",mstr);
//5、求字符串的长度
//mstr.length
//课上练习:给定一个图片的名字,判断字符串是否以“png”结尾,如果是换成jpg,如果不是则拼接“.jpg”
NSMutableString *mstr1=[[NSMutableString alloc]initWithString:@"xxxxxxpng"];
bool result1= [mstr1 hasSuffix:@"png"];//hasSuffix判断结尾是不是某某
if (result1) {
//方法一:不严谨,png开头
// NSRange range=[mstr1 rangeOfString:@"png"];//直接计算png的范围
// [mstr1 replaceCharactersInRange:range withString:@"jpg"];//替换
//方法二:更加严谨,在尾部计算3位出来的方法,mstr1.length-3计算换得开始位置
[mstr1 replaceCharactersInRange:NSMakeRange(mstr1.length-3,3) withString:@"jpg"];
}
else{
[mstr1 appendString:@".jpg"];//拼接
}
NSLog(@"%@",mstr1);
Book.h文件
@interface Book : NSObject
{
NSString *_name;
CGFloat _price;
}
//setter\getter方法
-(void)setName:(NSString *)name;
-(NSString *)name;
-(void)setPrice:(CGFloat)price;
-(CGFloat)price;
//初始化方法
-(instancetype)initWithName:(NSString *)name price:(CGFloat)price;
////信息打印
//-(NSString *)description;//可以不用声明
@end
Book.m文件
#import "Book.h"
@implementation Book
-(void)setName:(NSString *)name
{
_name=name;
}
-(NSString *)name
{
return _name;
}
-(void)setPrice:(CGFloat)price
{
_price=price;
}
-(CGFloat)price
{
return _price;
}
-(instancetype)initWithName:(NSString *)name price:(CGFloat)price
{
_name=name;
_price=price;
return self;
}
-(NSString *)description
{
NSString *str=[[NSString alloc]initWithFormat:@"书名:%@,价格:%.2f" ,_name,_price] ;
return str;
}
@end
二:数组NSArray(分为可变数组NSMutableArray和不可变数组NSArray)
//不可变数组NSArray
{
//数组里面只能存储对象类型的数据,直接或者间接继承于NSObject的类创建出来的对象
//1、创建数组如下,跟c语言差不多
NSArray *arr=[[NSArray alloc]initWithObjects:@"a",@"c",@"u",@"sge", nil];//nil是数组结束的标志
//2、通过字面量创建
NSArray *arr1=@[@"ios",@"android",@"windows"];
// //c语言里面的创建字符串的方法,要求存的东西都是一个类型的,但oc里面则可以不一样的
// int a[3]={1,2,3};
//3、通过下标访问数组里面的元素
NSLog(@"%@",arr1[1]);
//等效与下面,通过下标“objectAtIndex:1”,来获取对应的元素,这种方法更加严谨
NSLog(@"%@",[arr1 objectAtIndex:1]);
//通过元素来获取下标
NSInteger i=[arr1 indexOfObject:@"ios"];
NSLog(@"%ld",i);
//4、通过for循环来访问数组元素,遍历
for(int i=0;i<arr1.count;i++){
NSLog(@"%@",arr1[i]);
}
//5、要修改数组,则需要可变 " NSMutableArray"数组才可以,并且不可以用字面的写法
// NSMutableArray *arr1=@[~~~~];//错误写法
//正确写法
NSMutableArray *arr2=[[NSMutableArray alloc]initWithObjects:@"ios", @"android", @"windows", nil];
//可以由不可变数组,改变成可变数组
NSArray *marr=@[@"1",@"2",@"3"];
NSMutableArray *arr3=[[NSMutableArray alloc]initWithArray:marr];
for(int i=0;i<arr1.count;i++){
NSLog(@"%@",arr3[i]);
}
//6、添加元素,添加在数组的最后面
[arr2 addObject:@"nihao"];
NSLog(@"%@",arr2);
//7、插入元素,可以指定位置来插入元素
[arr2 insertObject:@"zhubajie" atIndex:2];
NSLog(@"%@",arr2);
//8、删除元素,指定元素删除
// [arr2 removeObject:@"ios"];
// NSLog(@"%@",arr2);
//9、根据下标来删除元素
// [arr2 removeObjectAtIndex:1];
// NSLog(@"%@",arr2);
//10、替换元素(根据下标进行替换)
// [arr2 replaceObjectAtIndex:1 withObject:@"linux"];
// NSLog(@"%@",arr2);
//11、交换两个元素的位置(交换的是两个元素的下标)
// [arr2 exchangeObjectAtIndex:0 withObjectAtIndex:2];
// NSLog(@"%@",arr2);
//
//12、判断数组里面是否包含某一个元素,有返回值,bool类型的
bool result=[arr2 containsObject:@"ios"];
NSLog(@"%d",result);
//课上练习
Book *book1=[[Book alloc]initWithName:@"语文书" price:9.8];
Book *book2=[[Book alloc]initWithName:@"数学书" price:20];
Book *book3=[[Book alloc]initWithName:@"英语书" price:10.3];
NSLog(@"%@",book3);//打印的是地址,但写了description方法后就可以打印全部信息
// NSLog(@"%@",book3.name);//打印的是书名,用.点语法,但我想要打印book3的全部信息
//创建可变数组来存这三个元素,可以提高内存的使用效应,后面的3是元素个事
NSMutableArray *bookArr=[[NSMutableArray alloc]initWithCapacity:3];
//添加书籍
[bookArr addObject:book1];
[bookArr addObject:book2];
[bookArr addObject:book3];
//打印一下信息:
for(int i=0;i<bookArr.count;i++){
NSLog(@"%@",bookArr[i]);
}
NSLog(@"|");
//删除元素
// [bookArr removeObject:book3];
// for(int i=0;i<bookArr.count;i++){
// NSLog(@"%@",bookArr[i]);
// }
// NSLog(@"|");
//根据书名查找书籍,并修改书籍价格
for(int i=0;i<bookArr.count;i++){
if([[bookArr[i] name]isEqualToString:@"语文书"]){
[bookArr [i] setPrice:99];
}
}
for(int i=0;i<bookArr.count;i++){
NSLog(@"%@",bookArr[i]);
}
}
三:NSNumber数值与字符串的转换
//NSNumber,把数字变成对象字符串
NSNumber *num1=[[NSNumber alloc]initWithInt:123];
NSLog(@"%@",num1);
//另外一种写法()括号里面可以是任何类型都可以
NSNumber *num2=@(123);
NSLog(@"%@",num2);
NSNumber *num3=@(YES);
NSLog(@"%@",num3);
NSNumber *num4=@(4.24);
NSLog(@"%@",num4);
//字符串类型转换成整型的
int a=[num2 intValue];
BOOL b=[num3 boolValue];
float c=[num4 floatValue];
NSLog(@"a=%d",a);
NSLog(@"b=%d",b);
NSLog(@"c=%.3f",c);
//应用,把一个整形的9转换成字符串
NSString *ar=[[NSString alloc]initWithFormat:@"%d" ,9];
NSLog(@"%@",ar);
//字符串转换成整形
int k=[ar intValue];
NSLog(@"%d",k);
(一)不可变字符串NSString:增删查改的实现:
// c语言中字符串是由char(ASCII)字符组成
char sex='1';
char *sex1="hjkk";
char *sex2[2]={"male","famle"};
printf("%s",sex2[1]);
//oc里面字符串是由unichar(unicode)码组成
//不可变字符串NSString,长度内容都是不可变的
//1\创建一个常量字符串,字面量,也就是直接把值赋给它,语法糖
NSString *str=@"哈哈哈哈哈";
NSLog(@"%@",str);
//2\创建一个格式化的字符串,并实现字符串的拼接
{
NSString *str1=[[NSString alloc]initWithFormat:@"%@师傅被抓走了",str];
NSLog(@"%@",str1);
NSString *str2=[NSString stringWithFormat:@"%@师傅又被抓走了",str];
NSLog(@"%@",str2);
NSString *str3=[NSString stringWithFormat:@"%@ %@",str1,str2];
NSLog(@"%@",str3);
//通过另外一个字符串创建字符串
NSString *str4=[[NSString alloc]initWithString:str3];
NSLog(@"%@",str4);
}
// NSString *str5=[[NSString alloc]initWithString:@"哈哈哈哈"];//建议不这么写,因为等价于 NSString *str5=@"哈哈哈哈"
//一:字符串的截取。字符串的常用方法,无论怎样,本来的字符串都不会发生变化
{
//1)、字符串的截取substringFromIndex,表示从某个字符开始截取字符串
NSString *str11=@"helloworld";
NSString *str12=[str11 substringFromIndex:5];//表示从字符串的第五个字符开始截取剩下的字符串,从零开始的
NSLog(@"%@",str12);
//2)方法substringToIndex从开始到哪里进行截取
NSString *str13=[str11 substringToIndex:5];//表示从开始截取到第5个字符串,但不要第五个,从零开始
NSLog(@"%@",str13);
//3)方法substringWithRange:范围来截取
NSRange range={5,4};//第一个表示开始的地方,第二值表示取多长,但不可以超过剩下的长度
NSString *str14=[str11 substringWithRange:range];
NSLog(@"%@",str14);
}
//二:字符串的拼接。stringByAppendingString
{
NSString *str11=@"helloworld";
NSString *str21=[str11 stringByAppendingString:@"你好!"];
NSLog(@"%@",str21);
}
//三:字符串的比较内容是否一样:格式:“字符串1 isEqualToString:字符串2”返回值是bool类型的
{
NSString *str11=@"helloworld";
NSString *str21=[str11 stringByAppendingString:@"你好!"];
bool result= [str11 isEqualToString:str21];
if (result) {
NSLog(@"两个字符串一样");
}else
{
NSLog(@"不一样");
}
//字符串的比较
NSComparisonResult comResult=[str11 compare:str21];
switch (comResult) {//switch语句是选择开关语句
case NSOrderedAscending:
NSLog(@"str11比str21小");
break;
case NSOrderedSame:
NSLog(@"str11和str21一样大小");
break;
case NSOrderedDescending:
NSLog(@"str11比str21大");
default:
break;
}
}
//四:判断字符串的开头和结尾
{
NSString *str41=@"jane.avi";
//(1)是否以某某开头
bool result41= [str41 hasPrefix:@"jane"];
if (result41) {
NSLog(@"珍妮");
}else{
NSLog(@"不是珍妮");
}
//(2)是否以某某结尾,可以用于判断是否是图片、电影的后缀
bool result42=[str41 hasSuffix:@".avi"];
if (result42) {
NSLog(@"以avi结尾的,这是一部电影");
}else{
NSLog(@"不是以avi结尾的");
}
//(3)判断是否包含某一个字符串
bool result43=[str41 containsString:@"jan"];
if (result43) {
NSLog(@"包含了jan");
}else
{
NSLog(@"不包含jan");
}
}
//五:大小写转换
{
NSString *str51=@"Helloword candy! i like ios";
//全部转换成大写的
NSString *str52=[str51 uppercaseString];
NSLog(@"%@",str52);
//全部变成小写
NSString *str53=[str51 lowercaseString];
NSLog(@"%@",str53);
//每个单词的首字母大写
NSString *str54=[str51 capitalizedString];
NSLog(@"%@",str54);
}
//六:c语言字符串和oc语言的字符串的相互转换
{
//将c字符串转换成oc字符串
NSString *str61=[[NSString alloc]initWithUTF8String:"呵呵呵"];
NSLog(@"%@",str61);
//将oc语言的字符串转换成c语言的字符串
const char *cStr=[str61 UTF8String];
printf("%s\n",cStr);
}
//七、字符串的替换
{
//(1)根据指定进行替换
NSString *str71=@"helloword helloword";
NSString *str72=[str71 stringByReplacingOccurrencesOfString:@"word" withString:@"逗比"];
//把前面的所有的word换成后面的“逗比”字符串
NSLog(@"%@",str72);
//(2)根据范围进行替换,NSMakeRange(5, 5)这是表示从第五个开始替换掉原来的那五个字符,替换的字符串长度没有限制的,如@"hahahahah"并不是五个字符
NSString *str73=[str71 stringByReplacingCharactersInRange:NSMakeRange(5, 5) withString:@"hahahahah"];
NSLog(@"%@",str73);
}
(二)可变字符串NSMutablestring
//可变字符串 NSMutableString都是不可变字符串的子类,则,上面不可变字符串的方法,都可以继承使用,继承于NSString
//可变字符串的初始化:
NSMutableString *mstr=[[NSMutableString alloc]initWithString:@"ione"];
//1/插入字符串,在本身去插入,没有返回值
[mstr insertString:@"Ph" atIndex:1];
NSLog(@"%@",mstr);
//2/删除字符串,范围删除NSMakeRange(4, 2),下标为4的开始删除2个字符位置
[mstr deleteCharactersInRange:NSMakeRange(4, 2)];
NSLog(@"%@",mstr);
//3、替换,操作的也是本身
[mstr replaceCharactersInRange:NSMakeRange(1, 2) withString:@"ha"];
NSLog(@"%@",mstr);
//4\拼接
[mstr appendString:@"6s"];
NSLog(@"%@",mstr);
//5、求字符串的长度
//mstr.length
//课上练习:给定一个图片的名字,判断字符串是否以“png”结尾,如果是换成jpg,如果不是则拼接“.jpg”
NSMutableString *mstr1=[[NSMutableString alloc]initWithString:@"xxxxxxpng"];
bool result1= [mstr1 hasSuffix:@"png"];//hasSuffix判断结尾是不是某某
if (result1) {
//方法一:不严谨,png开头
// NSRange range=[mstr1 rangeOfString:@"png"];//直接计算png的范围
// [mstr1 replaceCharactersInRange:range withString:@"jpg"];//替换
//方法二:更加严谨,在尾部计算3位出来的方法,mstr1.length-3计算换得开始位置
[mstr1 replaceCharactersInRange:NSMakeRange(mstr1.length-3,3) withString:@"jpg"];
}
else{
[mstr1 appendString:@".jpg"];//拼接
}
NSLog(@"%@",mstr1);
Book.h文件
@interface Book : NSObject
{
NSString *_name;
CGFloat _price;
}
//setter\getter方法
-(void)setName:(NSString *)name;
-(NSString *)name;
-(void)setPrice:(CGFloat)price;
-(CGFloat)price;
//初始化方法
-(instancetype)initWithName:(NSString *)name price:(CGFloat)price;
////信息打印
//-(NSString *)description;//可以不用声明
@end
Book.m文件
#import "Book.h"
@implementation Book
-(void)setName:(NSString *)name
{
_name=name;
}
-(NSString *)name
{
return _name;
}
-(void)setPrice:(CGFloat)price
{
_price=price;
}
-(CGFloat)price
{
return _price;
}
-(instancetype)initWithName:(NSString *)name price:(CGFloat)price
{
_name=name;
_price=price;
return self;
}
-(NSString *)description
{
NSString *str=[[NSString alloc]initWithFormat:@"书名:%@,价格:%.2f" ,_name,_price] ;
return str;
}
@end
二:数组NSArray(分为可变数组NSMutableArray和不可变数组NSArray)
//不可变数组NSArray
{
//数组里面只能存储对象类型的数据,直接或者间接继承于NSObject的类创建出来的对象
//1、创建数组如下,跟c语言差不多
NSArray *arr=[[NSArray alloc]initWithObjects:@"a",@"c",@"u",@"sge", nil];//nil是数组结束的标志
//2、通过字面量创建
NSArray *arr1=@[@"ios",@"android",@"windows"];
// //c语言里面的创建字符串的方法,要求存的东西都是一个类型的,但oc里面则可以不一样的
// int a[3]={1,2,3};
//3、通过下标访问数组里面的元素
NSLog(@"%@",arr1[1]);
//等效与下面,通过下标“objectAtIndex:1”,来获取对应的元素,这种方法更加严谨
NSLog(@"%@",[arr1 objectAtIndex:1]);
//通过元素来获取下标
NSInteger i=[arr1 indexOfObject:@"ios"];
NSLog(@"%ld",i);
//4、通过for循环来访问数组元素,遍历
for(int i=0;i<arr1.count;i++){
NSLog(@"%@",arr1[i]);
}
//5、要修改数组,则需要可变 " NSMutableArray"数组才可以,并且不可以用字面的写法
// NSMutableArray *arr1=@[~~~~];//错误写法
//正确写法
NSMutableArray *arr2=[[NSMutableArray alloc]initWithObjects:@"ios", @"android", @"windows", nil];
//可以由不可变数组,改变成可变数组
NSArray *marr=@[@"1",@"2",@"3"];
NSMutableArray *arr3=[[NSMutableArray alloc]initWithArray:marr];
for(int i=0;i<arr1.count;i++){
NSLog(@"%@",arr3[i]);
}
//6、添加元素,添加在数组的最后面
[arr2 addObject:@"nihao"];
NSLog(@"%@",arr2);
//7、插入元素,可以指定位置来插入元素
[arr2 insertObject:@"zhubajie" atIndex:2];
NSLog(@"%@",arr2);
//8、删除元素,指定元素删除
// [arr2 removeObject:@"ios"];
// NSLog(@"%@",arr2);
//9、根据下标来删除元素
// [arr2 removeObjectAtIndex:1];
// NSLog(@"%@",arr2);
//10、替换元素(根据下标进行替换)
// [arr2 replaceObjectAtIndex:1 withObject:@"linux"];
// NSLog(@"%@",arr2);
//11、交换两个元素的位置(交换的是两个元素的下标)
// [arr2 exchangeObjectAtIndex:0 withObjectAtIndex:2];
// NSLog(@"%@",arr2);
//
//12、判断数组里面是否包含某一个元素,有返回值,bool类型的
bool result=[arr2 containsObject:@"ios"];
NSLog(@"%d",result);
//课上练习
Book *book1=[[Book alloc]initWithName:@"语文书" price:9.8];
Book *book2=[[Book alloc]initWithName:@"数学书" price:20];
Book *book3=[[Book alloc]initWithName:@"英语书" price:10.3];
NSLog(@"%@",book3);//打印的是地址,但写了description方法后就可以打印全部信息
// NSLog(@"%@",book3.name);//打印的是书名,用.点语法,但我想要打印book3的全部信息
//创建可变数组来存这三个元素,可以提高内存的使用效应,后面的3是元素个事
NSMutableArray *bookArr=[[NSMutableArray alloc]initWithCapacity:3];
//添加书籍
[bookArr addObject:book1];
[bookArr addObject:book2];
[bookArr addObject:book3];
//打印一下信息:
for(int i=0;i<bookArr.count;i++){
NSLog(@"%@",bookArr[i]);
}
NSLog(@"|");
//删除元素
// [bookArr removeObject:book3];
// for(int i=0;i<bookArr.count;i++){
// NSLog(@"%@",bookArr[i]);
// }
// NSLog(@"|");
//根据书名查找书籍,并修改书籍价格
for(int i=0;i<bookArr.count;i++){
if([[bookArr[i] name]isEqualToString:@"语文书"]){
[bookArr [i] setPrice:99];
}
}
for(int i=0;i<bookArr.count;i++){
NSLog(@"%@",bookArr[i]);
}
}
三:NSNumber数值与字符串的转换
//NSNumber,把数字变成对象字符串
NSNumber *num1=[[NSNumber alloc]initWithInt:123];
NSLog(@"%@",num1);
//另外一种写法()括号里面可以是任何类型都可以
NSNumber *num2=@(123);
NSLog(@"%@",num2);
NSNumber *num3=@(YES);
NSLog(@"%@",num3);
NSNumber *num4=@(4.24);
NSLog(@"%@",num4);
//字符串类型转换成整型的
int a=[num2 intValue];
BOOL b=[num3 boolValue];
float c=[num4 floatValue];
NSLog(@"a=%d",a);
NSLog(@"b=%d",b);
NSLog(@"c=%.3f",c);
//应用,把一个整形的9转换成字符串
NSString *ar=[[NSString alloc]initWithFormat:@"%d" ,9];
NSLog(@"%@",ar);
//字符串转换成整形
int k=[ar intValue];
NSLog(@"%d",k);
相关文章推荐
- iOS开发常用的第三方类库
- iOS8 推送注册方式改变的问题
- 一些 iOS 常用的第三方库
- iOS开发:设置纯色导航栏,去掉导航栏分割线
- iOS常用第三方类库 Xcode插件
- ios中的单例类
- iOS第三方键盘高度获取不准确问题
- 【我们都爱Paul Hegarty】斯坦福大学IOS8公开组个人笔记28 ScrollView 幻灯片视图
- iOS9新特性 - Split Screen Multitasking
- ios-自定义画板
- iOS开发脚踏实地学习day04-超级猜图
- iOS:多个单元格的删除(方法二):
- iOS原生扫描二维码
- iOS开发:通讯录之复杂文本字符串解析
- iOS7 boundingRectWithSize 计算文本尺寸
- iOS开发知识
- ios中json解析出现的null问题
- iOS开发-Day33-xml解析
- iOS-系统定位功能
- iOS开发-Day33-JSON解析