码迷,mamicode.com
首页 > 移动开发 > 详细

ios的小语法

时间:2016-03-15 14:53:39      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

结构体

NSRange表示一个范围 如:NSRange rg={3,5};3为起始位置,5为长度

NSPoint(CGPoint)表示一个点 如:NSPoint p2=CGPointMake(10, 15);

NSSize(CGSize)表示大小 如:CGSize s2=CGSizeMake(10, 15);

NSRect表示一个矩形  如:NSRect r=NSMakeRect(10, 5, 100, 200);

以上这些都是结构体,可以具体访问当中的参数

日期

NSDate *date1=[NSDate date];//获得当前日期

NSLog(@"%@",date1); //结果:2014-07-16 07:25:28 +0000

//日期格式化
    NSDateFormatter *formater1=[[NSDateFormatter alloc]init];
    formater1.dateFormat=@"yy-MM-dd";
    NSString *datestr1=[formater1 stringFromDate:date1];
    NSLog(@"%@",datestr1); //结果:14-07-16
    //字符串转化为日期
    NSDate *date6=[formater1 dateFromString:@"14-02-14 11:07:16"];
    NSLog(@"%@",date6); //结果:2014-02-14 03:07:16 +0000

   字符串

    不可变字符串 NSString

    [@"Hello world!" uppercaseString];//转换为大写

    [@"Hello world!" lowercaseString];//转换为小写

     [@"Hello world!" capitalizedString];//首字母大写

    [@"abcdef" hasPrefix:@"ab"];//起始位置以ab开始 返回yes 反之no

    [@"abcdef" hasSuffix:@"ef"];//尾部以ef结束 返回yes 反之no

     [@"abcdef" substringFromIndex:3];//从第三个索引开始(包括第三个索引对应的字符)截取到最后一位

    [@"abcdef" substringToIndex:3];//从0开始截取到第三个索引(不包括第三个索引对应的字符)

    [@"abcdef" substringWithRange:NSMakeRange(2, 3)];//从第三个位置开始,长度为3

    NSArray *array1=[str1 componentsSeparatedByString:@"."];//字符串分割

    可变字符 NSMutableString

   NSMutableString *str1= [[NSMutableString alloc] initWithCapacity:10];
    [str1 setString:@"hello"];//设置字符串

   [str1 appendString:@",world!"];//追加字符串

    [str1 appendFormat:@"我的年龄是%i。dear,I love you.",18];

    //替换字符串
    NSRange range=[str1 rangeOfString:@"dear"];
    [str1 replaceCharactersInRange:range withString:@"Honey"];
    [str1 insertString:@"My name is Kenshin." atIndex:12]; //插入字符串

    [str1 deleteCharactersInRange:[str1 rangeOfString:@"My name is Kenshin."]];//删除指定范围的字符串 

    数组

   不可变数组 NSArray

    NSObject *obj=[[NSObject alloc]init];
    NSArray *array1=[NSArray arrayWithObjects:@"abc",obj,@"cde",@"opq",@25, nil];//NSArray是不可变的,所以初始化时必须赋值,并以nil为结尾,个数上nil不算在内
    NSLog(@"%zi",array1.count);//数组长度,结果:5
    NSLog(@"%i",[array1 containsObject:@"cde"]);//是否包含某个对象,结果:1
    NSLog(@"%@",[array1 lastObject]);//最后一个对象,结果:25
    NSLog(@"%zi",[array1 indexOfObject:@"abc"]);//对象所在的位置:0

   //数组的遍历

      //方法1  

  for(int i=0,len=array1.count;i<len;++i){
        NSLog(@"method1:index %i is %@",i,[array1 objectAtIndex:i]);
    }

    //方法2
    for(id obj in array){
        NSLog(@"method2:index %zi is %@",[array indexOfObject:obj],obj);
    }

   //方法3,利用代码块方法
    [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        NSLog(@"method3:index %zi is %@",idx,obj);
        if(idx==2){//当idx=2时设置*stop为YES停止遍历
            *stop=YES;
        }
    }];

/方法4,利用迭代器

   NSEnumerator *enumerator=[array reverseObjectEnumerator];//获取一个反向迭代器

     id obj2=nil;
      while (obj2=[enumerator nextObject]) {
        NSLog(@"method4:%@",obj2);
    }

注意:

NSArray中只能存放对象,不能存放基本数据类型,通常我们可以通过在基本数据类型前加@进行转换;

数组中的元素后面必须加nil以表示数据结束;

可变数组 NSMutableArray

NSMutableArray *array1=[NSMutableArray arrayWithObjects:@"aa",@"bb",@"cc", nil];

[array1 addObject:@"vv"];//添加一个元素

[array1 removeObject:person3];//删除一个元素

[array1 removeLastObject];//删除最后一个元素,

[array1 removeAllObjects];//删除所以元素

注意:

可变数组中的元素后面必须加nil以表示数据结束;
往一个可变数组中添加一个对象,此时这个对象的引用计数器会加1,当这个对象从可变数组中移除其引用计数器减1。同时当整个数组销毁之后会依次调用每个对象的releaes方法。

ios的小语法

标签:

原文地址:http://www.cnblogs.com/wulx/p/5279448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!