黑马程序员技术交流社区

标题: iOS学习知识点总结 [打印本页]

作者: onlyxiao    时间: 2016-1-13 09:12
标题: iOS学习知识点总结
//数组:数组可以用来存储元素(对象的内容地址,因为将来可以通过这个内存地址找到这个对象)。
数组分为:不可变数组(查 用objectAtIndex)以及可变数组(增、删、改、查的功能)。数组可以看成是以链表的数据结构来存储的,是有序的。
//不可变数组:NSArray:NSObject
    //数组不能存放基本数据类型   nil结束符   
    NSArray *array=[[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",nil];
    //查询(数组放的什么类型的元素,就用什么指针来接收)
    //Index 数组元素个数-1=>索引位>=0
    for (int i=0; i<array.count; i++) {
        NSString *a=[array objectAtIndex:i];
        NSLog(@"%@",a);
            }
    //不可变数组字面量创建对象的方法
   // NSArray *array=[@"a",@"b"];
        
    //可变数组 NSMutableArray:(继承于)NSArray
    //创见时候可以选择init 因为是可增的
    NSMutableArray *mutablrArray=[[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",nil];
    //增(add 添加 insert 插入 )
    [mutablrArray addObject:@"6"];//默认添加在后面
    [mutablrArray insertObject:@"a" atIndex:2];//在某个位置插入这个元素

    //删(remove)
    [mutablrArray removeObject:@"a"];//删除指定元素
    //改(replace替换 exchange交换)
    [mutablrArray replaceObjectAtIndex:0 withObject:@"xx"];
    [mutablrArray exchangeObjectAtIndex:0 withObjectAtIndex:5];
    //查
    NSString* info0=[mutablrArray objectAtIndex:0];
    NSLog(@"%@",info0);
    //遍历数组
    for (int k=0; k<5; k++) {
        NSString *array=[mutablrArray objectAtIndex:k];
        NSLog(@"%@",array);
    }//速度慢
    //快速遍历数组
    for (NSString* info in mutablrArray) {
        NSLog(@"%@",info);
    }

字典:
//字典:也是用来存储元素(对象的内存地址)。以键值对的方法来存储元素的(键值对一一对应,如果一个键设置多个值,那么其他值将会被替换)。并且字典的储存是无序的
    //字典分为:可变和不可变字典
    //不可变字典 NSDictionary
    //这种初始化方法 值和键要依次写入,无序的
    NSDictionary *dictionary=[[NSDictionary alloc]initWithObjectsAndKeys:@"王冲",@"name",
                              @"18",@"age",
                              @"nan",@"sex",nil];
    NSString *name= [dictionary objectForKey:@"name"];
   

    NSLog(@"%@",name);
NSLog(@"%@",dictionary.allKeys);//取出所有的键
    NSLog(@"%@",dictionary.allValues);//取出所有的值
//字面量方法创建不可变字典
//    NSDictionary *dictionary=@{@"name": @"张三"};
   
   
    //可变字典,初始化
    NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc]initWithCapacity:0];
    //添加
    [mutableDic setObject:@"aaaliac” forKey:@"name"];
    [mutableDic setObject:@"18" forKey:@"age"];
    [mutableDic setObject:@"girl" forKey:@"sex"];
    //删除  都和数组类似
    //遍历
    for (NSString *key in mutableDic.allKeys) {
        NSLog(@"%@",[mutableDic objectForKey:key]);
    }


   
    NSLog(@"%@",mutableDic)
99乘法表
    for (int i=1; i<10; i++) {
        NSString *sum=@"";
        for (int j=1; j<=i; j++) {
           //实现拼接
           sum=[NSString stringWithFormat:@"%@ %d*%d=%d",sum,j,i,i*j];
        }
        NSLog(@"%@",sum);
    }
[mutableArray insertObjects:array atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 5)]];
//    NSMakeRange是一个结构体类型,包含两个参数,位置和长度。表示字符串要传进来从哪里开始的位置和需要的长度。
定时器动画,关键帧动画,UIView动画
infinite :0 means infinite 0意思是无限制 (动画循环次数)
    //关键帧动画(UIImageView)
    //1.创建UIImageView
    UIImageView *imageView=[[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds];
    imageView.image=[UIImage imageNamed:@"4.jpg   "];
    [self.window addSubview:imageView];
    //2.创建数组保存做动画的图片
    NSMutableArray *array=[[NSMutableArray alloc]initWithCapacity:0];
    for (int i=1; i<7; i++) {
        //字符串拼接找到是;图片的名字
        NSString *imageName=[NSString stringWithFormat:@"%d.jpg",i];
        //根据上面的拼接结果,将图片存到数组中
        UIImage *image=[UIImage imageNamed:imageName];
        [array addObject:image];
    }
    //3.开始做动画(图片来源,动画时间, 重复次数,开始动画)
    imageView.animationDuration=2;//动画总时间,有默认值
    imageView.animationImages=array;//给那些图片做动画
    imageView.animationRepeatCount=0;//给那些图片做动画重复次数 默认0
    [imageView startAnimating];




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2