OC基本数据类型常用方法小结
2016-06-27 00:00
786 查看
摘要: OC基本数据类型常用方法小结
OC基本数据类型
//一、创建一个不可变的字符串
//1.可直接赋值
NSString *str = @"hello,world";
//2.可直接赋值,传值
NSString *strI = [NSString stringWithFormat:@"hello,world,%i",2016];
//字符串比较
//调用返回值是BOOL类型的方法isEqualToString:(NSSting *)
if ([str isEqualToString:strI]) {
NSLog(@"内容相同");
}
else{
NSLog(@"内容不同");
}
//调用返回值是枚举类型的方法compare:(NSString *)
[str compare:strI];//该方法的返回值有三种情况1、0、-1 分别表示大于、等于、小于
//大小写转化
//转大写
NSString *upperStr = [str uppercaseString];
NSLog(@"%@",upperStr);
//转小写
NSString *lowerStr = [upperStr lowercaseString];
NSLog(@"%@",lowerStr);
//首字母大写
NSString *capStr = [str capitalizedString];
NSLog(@"%@",capStr);
//截取 从6开始到结尾
NSString *worldStr = [str substringFromIndex:6];
NSLog(@"%@",worldStr);
// 从开始到5结束 不包含第五个字符
NSString *helloStr = [str substringToIndex:5];
NSLog(@"%@",helloStr);
//判断一个字符串中是否包含另外一个字符串
[str containsString:@"h"];
//用一个字符串分割另一个字符串
NSArray *arrStr=[str componentsSeparatedByString:@","];
//-----可变字符串 NSMutableString------
//创建可变字符串
NSMutableString *muStr = [NSMutableString string];
//字符串的长度
3ff0
[muStr length];
//setString设置,覆盖原来的值
[muStr setString:@"123456"];
//追加
[muStr appendString:@"hello"];
//插入
[muStr insertString:@"您好!" atIndex:1];
//查找要删除字符串的范围
NSRange range = [muStr rangeOfString:@"您好!"];
//删除指定字符串
[muStr deleteCharactersInRange:range];
//替换指定的范围
[muStr replaceCharactersInRange:range withString:@"789"];
NSLog(@"mustr:%@",muStr);
//不可变数组NSArray
NSArray *array = @[@"1",@1,@3,@6];
NSArray *arr=[NSArray arrayWithObjects:@" ", nil];
NSLog(@"获取数组的长度:%li",[array count]);
//遍历数组
for (int i=0; i<array.count; i++) {
//通过下标找元素
NSLog(@"%@",[array objectAtIndex:i]);
}
//可以适用于任何集合类型
for (id obj in array) {
NSLog(@"%@",obj);
}
//判断数组中是否存在某个元素
if ([array containsObject:@"1"]) {
NSLog(@"包含该元素");
}
NSUInteger index = [array indexOfObject:@1];
NSLog(@"%li",index);
//可变数组 NSMutableArray
NSMutableArray *muArr = [NSMutableArray arrayWithObjects:@"", nil];
//给数组中添加元素
[muArr addObjectsFromArray:@[@1,@10,@YES ,@1] ];
[muArr addObject:@""];
//根据下标删除数组中的元素
[muArr removeObjectAtIndex:0];
//删除数组中包含的@1元素
// [muArr removeObject:@1];
//删除最后一个元素
[muArr removeLastObject];
[muArr addObjectsFromArray:array];
[muArr addObjectsFromArray:array];
//查找数组中1,3,6
NSRange ran = NSMakeRange(3, 3);
NSArray *ranArr = [muArr subarrayWithRange:ran];
NSLog(@"%@",ranArr);
[muArr objectAtIndex:3];//下标找元素
[muArr indexOfObject:@1];//元素找下标
//通过范围去删除元素
[muArr removeObjectsInRange:ran];
[muArr removeObject:@10];
[muArr removeLastObject];
[muArr removeObjectAtIndex:2];
//修改某个下标的元素
[muArr setObject:@"hello" atIndexedSubscript:1];
NSLog(@"%@",muArr);
//字典 键不能重复 值
//继承与NSObject基类的类实例化出来的对象
//c语言中的数据类型不能直接存放在NSArray、NSDictionary 必须封装成对象类型
//cj字典
NSDictionary *dict = @{@"name":array,@"name":@"hilary",@"age":@16};
//NSDictionary *dic=[NSDictionary dictionaryWithObjects:<#(nonnull NSArray *)#> forKeys:<#(nonnull NSArray<id<NSCopying>> *)#>]
// NSLog(@"%@",dict[@"name"]);
//用forin遍历的时候取出来的是字典中的键
// for (id key in dict) {
// //通过键取值
// NSLog(@"%@",[dict objectForKey:key]);
// }
//可变字典
//定义
NSMutableDictionary *mutDict=[NSMutableDictionary dictionary];
//[mutDict addEntriesFromDictionary:<#(nonnull NSDictionary *)#>];
//删除
//[mutDict removeObjectForKey:<#(nonnull id)#>];
//[mutDict removeObjectsForKeys:<#(nonnull NSArray *)#>];
//修改 set 没有则添加,有则替换
//[mutDict setObject:<#(nonnull id)#> forKey:<#(nonnull id<NSCopying>)#>];
//集合 无序集合 判断是否包含某个元素比数组高效
//和数组相似,但是所存的元素是无序的,set中的元素不能重复只保留最后一个,可以去重
NSSet *set=[NSSet setWithArray:arr];
//[NSSet setWithObjects:<#(nonnull id), ...#>, nil];
//[NSSet setWithObject:<#(nonnull id)#>];
[set count];//取长度
//判断set中是否存在某个元素
//[set containsObject:<#(nonnull id)#>];
NSMutableSet *mutSet=[NSMutableSet setWithArray:arr];
[NSMutableSet setWithCapacity:10];
//添加,
[mutSet addObject:@"hello"];
//[mutSet addObjectsFromArray:<#(nonnull NSArray *)#>];
//遍历
for (id obj in mutSet) {
NSLog(@"%@",obj);
}
//判断两个集合是否相同
[mutSet isEqual:set];
//求交集
[mutSet intersectSet:set];
//求合集
[mutSet setSet:set];
//求余集
[mutSet minusSet:set];
//NSNumber
//专门用来分装基本数据类型(int 、double、float、char)
int f=10;
NSNumber *numInt=[NSNumber numberWithInt:f];
NSNumber *numChar=[NSNumber numberWithChar:'*'];
//解封
[numChar charValue];
[numInt intValue];
//结构体 用来描述事物的范围比如日期由年月日组成的,参数是年月日
struct date{int year;int month;int day;};
struct date today={2016,6,3};
NSLog(@"打印:%i-%i-%i",today.year,today.month,today.day);
//表示范围的 NSRange 参数:表示位置location 表示长度的length
//调用NSMakeRange函数给值
//表示坐标的结构体NSPoint/ CGPoint参数是float类型的,表示横坐标的x,和纵坐标的y
NSPoint point={100,100};
NSLog(@"%.f,%.f",point.x,point.y);
NSPoint point1=NSMakePoint(10, 10);
CGPoint pointI={20,20};
CGPoint pointII= CGPointZero;//原点
CGPoint pointIII=CGPointMake(9, 9);
//NSSize
//描述尺寸NSSize/ CGSize 宽(float类型的width)高(float类型的height)
NSSize size={10,10};
NSLog(@"%.2f %.2f",size.width,size.height);
CGSize sizeI={9,9};
CGSize sizeII=CGSizeMake(12, 12);
CGSize sizeIII=CGSizeZero;//零尺寸
CGSizeEqualToSize(sizeI, sizeII);
//NSRect/CGRec
// NSRect/CGRect 描述事物的坐标和尺寸,参数有两个CGPoint类型的point,CGSize类型的size
NSRect rect={point1,sizeII};
//NSMakeRect(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat w#>, <#CGFloat h#>)
CGRect rectI=NSMakeRect(2, 2, 100, 120);
//CGRectEqualToRect(<#CGRect rect1#>, <#CGRect rect2#>)
//修改某一参数值
rectI.origin.x=4;
rectI.size.width=80;
NSLog(@"%.2f",rectI.size.width);
// 结构体是构造基本数据类型的,需要转换才能存放在数组中
// NSValue 用于封装基本数据类型
NSValue *value=[NSValue valueWithRect:rect];
NSValue *valueI=[NSValue valueWithSize:size];
NSValue *valueII=[NSValue valueWithPoint:point];
//解封
CGRect rectValue=[value rectValue];
CGSize sizeValue=[valueI sizeValue];<
3ff0
/p>
CGPoint pointValue=[valueII pointValue];
//枚举
//给数组中的元素申请一个枚举器,
NSEnumerator *enumer=[arr objectEnumerator];
//枚举器只能遍历一次
NSString *string=nil;
/*
while (string=[enumer nextObject]) {
NSLog(@"%@", string);
}
*/
for (id obj in enumer) {
NSLog(@"%@", string);
}
//给字典的键申请枚举器 keyEnumerator 给字典的值申请枚举器 objectEnumerator
NSEnumerator *enumerDict=[dict objectEnumerator];
// NSData
//获取当前时间
NSDate *dateI=[NSDate date];
//格式化日期
NSDateFormatter *format=[NSDateFormatter new];
//设置日期格式
[format setDateFormat:@"yyyy年MM月dd日hh时mm分ss秒"];
NSString *now=[format stringFromDate:dateI];
NSLog(@"%@",now);
OC基本数据类型
//一、创建一个不可变的字符串
//1.可直接赋值
NSString *str = @"hello,world";
//2.可直接赋值,传值
NSString *strI = [NSString stringWithFormat:@"hello,world,%i",2016];
//字符串比较
//调用返回值是BOOL类型的方法isEqualToString:(NSSting *)
if ([str isEqualToString:strI]) {
NSLog(@"内容相同");
}
else{
NSLog(@"内容不同");
}
//调用返回值是枚举类型的方法compare:(NSString *)
[str compare:strI];//该方法的返回值有三种情况1、0、-1 分别表示大于、等于、小于
//大小写转化
//转大写
NSString *upperStr = [str uppercaseString];
NSLog(@"%@",upperStr);
//转小写
NSString *lowerStr = [upperStr lowercaseString];
NSLog(@"%@",lowerStr);
//首字母大写
NSString *capStr = [str capitalizedString];
NSLog(@"%@",capStr);
//截取 从6开始到结尾
NSString *worldStr = [str substringFromIndex:6];
NSLog(@"%@",worldStr);
// 从开始到5结束 不包含第五个字符
NSString *helloStr = [str substringToIndex:5];
NSLog(@"%@",helloStr);
//判断一个字符串中是否包含另外一个字符串
[str containsString:@"h"];
//用一个字符串分割另一个字符串
NSArray *arrStr=[str componentsSeparatedByString:@","];
//-----可变字符串 NSMutableString------
//创建可变字符串
NSMutableString *muStr = [NSMutableString string];
//字符串的长度
3ff0
[muStr length];
//setString设置,覆盖原来的值
[muStr setString:@"123456"];
//追加
[muStr appendString:@"hello"];
//插入
[muStr insertString:@"您好!" atIndex:1];
//查找要删除字符串的范围
NSRange range = [muStr rangeOfString:@"您好!"];
//删除指定字符串
[muStr deleteCharactersInRange:range];
//替换指定的范围
[muStr replaceCharactersInRange:range withString:@"789"];
NSLog(@"mustr:%@",muStr);
//不可变数组NSArray
NSArray *array = @[@"1",@1,@3,@6];
NSArray *arr=[NSArray arrayWithObjects:@" ", nil];
NSLog(@"获取数组的长度:%li",[array count]);
//遍历数组
for (int i=0; i<array.count; i++) {
//通过下标找元素
NSLog(@"%@",[array objectAtIndex:i]);
}
//可以适用于任何集合类型
for (id obj in array) {
NSLog(@"%@",obj);
}
//判断数组中是否存在某个元素
if ([array containsObject:@"1"]) {
NSLog(@"包含该元素");
}
NSUInteger index = [array indexOfObject:@1];
NSLog(@"%li",index);
//可变数组 NSMutableArray
NSMutableArray *muArr = [NSMutableArray arrayWithObjects:@"", nil];
//给数组中添加元素
[muArr addObjectsFromArray:@[@1,@10,@YES ,@1] ];
[muArr addObject:@""];
//根据下标删除数组中的元素
[muArr removeObjectAtIndex:0];
//删除数组中包含的@1元素
// [muArr removeObject:@1];
//删除最后一个元素
[muArr removeLastObject];
[muArr addObjectsFromArray:array];
[muArr addObjectsFromArray:array];
//查找数组中1,3,6
NSRange ran = NSMakeRange(3, 3);
NSArray *ranArr = [muArr subarrayWithRange:ran];
NSLog(@"%@",ranArr);
[muArr objectAtIndex:3];//下标找元素
[muArr indexOfObject:@1];//元素找下标
//通过范围去删除元素
[muArr removeObjectsInRange:ran];
[muArr removeObject:@10];
[muArr removeLastObject];
[muArr removeObjectAtIndex:2];
//修改某个下标的元素
[muArr setObject:@"hello" atIndexedSubscript:1];
NSLog(@"%@",muArr);
//字典 键不能重复 值
//继承与NSObject基类的类实例化出来的对象
//c语言中的数据类型不能直接存放在NSArray、NSDictionary 必须封装成对象类型
//cj字典
NSDictionary *dict = @{@"name":array,@"name":@"hilary",@"age":@16};
//NSDictionary *dic=[NSDictionary dictionaryWithObjects:<#(nonnull NSArray *)#> forKeys:<#(nonnull NSArray<id<NSCopying>> *)#>]
// NSLog(@"%@",dict[@"name"]);
//用forin遍历的时候取出来的是字典中的键
// for (id key in dict) {
// //通过键取值
// NSLog(@"%@",[dict objectForKey:key]);
// }
//可变字典
//定义
NSMutableDictionary *mutDict=[NSMutableDictionary dictionary];
//[mutDict addEntriesFromDictionary:<#(nonnull NSDictionary *)#>];
//删除
//[mutDict removeObjectForKey:<#(nonnull id)#>];
//[mutDict removeObjectsForKeys:<#(nonnull NSArray *)#>];
//修改 set 没有则添加,有则替换
//[mutDict setObject:<#(nonnull id)#> forKey:<#(nonnull id<NSCopying>)#>];
//集合 无序集合 判断是否包含某个元素比数组高效
//和数组相似,但是所存的元素是无序的,set中的元素不能重复只保留最后一个,可以去重
NSSet *set=[NSSet setWithArray:arr];
//[NSSet setWithObjects:<#(nonnull id), ...#>, nil];
//[NSSet setWithObject:<#(nonnull id)#>];
[set count];//取长度
//判断set中是否存在某个元素
//[set containsObject:<#(nonnull id)#>];
NSMutableSet *mutSet=[NSMutableSet setWithArray:arr];
[NSMutableSet setWithCapacity:10];
//添加,
[mutSet addObject:@"hello"];
//[mutSet addObjectsFromArray:<#(nonnull NSArray *)#>];
//遍历
for (id obj in mutSet) {
NSLog(@"%@",obj);
}
//判断两个集合是否相同
[mutSet isEqual:set];
//求交集
[mutSet intersectSet:set];
//求合集
[mutSet setSet:set];
//求余集
[mutSet minusSet:set];
//NSNumber
//专门用来分装基本数据类型(int 、double、float、char)
int f=10;
NSNumber *numInt=[NSNumber numberWithInt:f];
NSNumber *numChar=[NSNumber numberWithChar:'*'];
//解封
[numChar charValue];
[numInt intValue];
//结构体 用来描述事物的范围比如日期由年月日组成的,参数是年月日
struct date{int year;int month;int day;};
struct date today={2016,6,3};
NSLog(@"打印:%i-%i-%i",today.year,today.month,today.day);
//表示范围的 NSRange 参数:表示位置location 表示长度的length
//调用NSMakeRange函数给值
//表示坐标的结构体NSPoint/ CGPoint参数是float类型的,表示横坐标的x,和纵坐标的y
NSPoint point={100,100};
NSLog(@"%.f,%.f",point.x,point.y);
NSPoint point1=NSMakePoint(10, 10);
CGPoint pointI={20,20};
CGPoint pointII= CGPointZero;//原点
CGPoint pointIII=CGPointMake(9, 9);
//NSSize
//描述尺寸NSSize/ CGSize 宽(float类型的width)高(float类型的height)
NSSize size={10,10};
NSLog(@"%.2f %.2f",size.width,size.height);
CGSize sizeI={9,9};
CGSize sizeII=CGSizeMake(12, 12);
CGSize sizeIII=CGSizeZero;//零尺寸
CGSizeEqualToSize(sizeI, sizeII);
//NSRect/CGRec
// NSRect/CGRect 描述事物的坐标和尺寸,参数有两个CGPoint类型的point,CGSize类型的size
NSRect rect={point1,sizeII};
//NSMakeRect(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat w#>, <#CGFloat h#>)
CGRect rectI=NSMakeRect(2, 2, 100, 120);
//CGRectEqualToRect(<#CGRect rect1#>, <#CGRect rect2#>)
//修改某一参数值
rectI.origin.x=4;
rectI.size.width=80;
NSLog(@"%.2f",rectI.size.width);
// 结构体是构造基本数据类型的,需要转换才能存放在数组中
// NSValue 用于封装基本数据类型
NSValue *value=[NSValue valueWithRect:rect];
NSValue *valueI=[NSValue valueWithSize:size];
NSValue *valueII=[NSValue valueWithPoint:point];
//解封
CGRect rectValue=[value rectValue];
CGSize sizeValue=[valueI sizeValue];<
3ff0
/p>
CGPoint pointValue=[valueII pointValue];
//枚举
//给数组中的元素申请一个枚举器,
NSEnumerator *enumer=[arr objectEnumerator];
//枚举器只能遍历一次
NSString *string=nil;
/*
while (string=[enumer nextObject]) {
NSLog(@"%@", string);
}
*/
for (id obj in enumer) {
NSLog(@"%@", string);
}
//给字典的键申请枚举器 keyEnumerator 给字典的值申请枚举器 objectEnumerator
NSEnumerator *enumerDict=[dict objectEnumerator];
// NSData
//获取当前时间
NSDate *dateI=[NSDate date];
//格式化日期
NSDateFormatter *format=[NSDateFormatter new];
//设置日期格式
[format setDateFormat:@"yyyy年MM月dd日hh时mm分ss秒"];
NSString *now=[format stringFromDate:dateI];
NSLog(@"%@",now);
相关文章推荐
- NSString与C字符串之间的相互转换
- iOS中json解析出现的null,nil,NSNumber的解决办法
- Objective-C中字符串NSString的常用操作方法总结
- NSSet
- NSString,NSArray和NSDictionary to JSON标准格式字符串
- array 排序
- NSString 用法2
- NSString 用法3
- NSData和NSMutableData
- 数字的格式化
- IOS字符串拼接方法小结
- ios NSString 使用
- OC学习之--字典&集合
- OC学习之--字符串类&数组类&值对象
- NSArray的排序和乱序
- 字符串处理,数据类型
- Objective-C中NSArray类的解读
- Swift3的Dictionary和OC的NSDictionary关系
- Array与NSArray关系
- Objective-C之数字对象