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];

    //字符串的长度

    [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];

    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);

 

转载于:https://my.oschina.net/1can/blog/701571

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值