您的位置:首页 > 其它

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息