您的位置:首页 > 编程语言 > C语言/C++

OC语言----foundation其他常用的类型

2015-03-23 18:39 288 查看
foundation其他常用的类型

首先:

NSArray   不可变数组

array数组的创建:

NSArray *array1 = [NSArray arrayWithObject:@"jack"];

nil是数组元素结束的标志

NSArray *array2 = [NSArray arrayWithObjects:@"jack",@"rose",nil];

快速创建一个array数组

NSArray *array3 =@[@"jack",@"rose",@"4324324"];
NSMutableArray 可变数组

NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
// 添加元素
[array addObject:[[Person alloc] init]];

[array addObject:@"jack"];

// 删除元素
//[array removeAllObjects];
// 删除指定的对象
// [array removeObject:@"jack"];
[array removeObjectAtIndex:0];

// 错误写法
// [array addObject:nil];

//输出数组
NSLog(@"%@", array);
//输出数组个数
NSLog(@"%ld", array.count);

遍历数组:

Person *p = [[Person alloc] init];  // 常用的方法

NSArray *array = @[p, @"rose", @"jack"];

//    for (int i = 0; i<array.count; i++)
//    {
//        NSLog(@"%@", array[i]);
//    }


遍历数组另一种方式:

int i = 0;
//    for (id obj in array)
//    {
//        // 找出obj元素在数组中的位置
//        NSUInteger i = [array indexOfObject:obj];
//
//        NSLog(@"%ld - %@", i, obj);
//        //i++;
//
//        if (i==1)// 判断i==1,就结束遍历,退出
//        {
//            break;
//        }
//    }


使用block方法来实现遍历

[array enumerateObjectsUsingBlock:
// 每遍历到一个元素,就会调用一次block
// 并且当前元素和索引位置当做参数传给block
^(id obj, NSUInteger idx, BOOL *stop)
{
NSLog(@"%ld - %@", idx, obj);

if (idx == 0)
{
// 停止遍历
*stop = YES;
}

}];


OC数组不能存放nil值
OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等

    
这个array永远是空数组
NSArray *array = [NSArray array];

 foundation字典

// 字典存放的都是键值对,key --value   索引--文字内容

NSDictionary *dict = [NSDictionary dictionaryWithObject:@"sun" forKey:@"name"];<span style="font-family: Arial, Helvetica, sans-serif;">id obj = [d    ict objectForKey:@"name"];</span><pre name="code" class="objc" style="font-size: 18px;">    NSLog(@"%@",obj)




//返回的是:键值对的个数
NSLog(@"%ld", dict.count);
NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];


// 字典不允许有相同的key,但允许有相同的value(Object)
// 字典的无序的
NSDictionary *dict = @{
@"name" : @"jack",
@"name2" : @"jack",
@"name3" : @"孙寅",
@"qq" : @"309394652"};
另一种字典方式:先定义一个字典对象,在通过字典方法往里面输入键值对

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
// 添加键值对
[dict setObject:@"jack" forKey:@"name"];
[dict setObject:@"山西" forKey:@"address"];
[dict setObject:@"rose" forKey:@"name"];


  

// 移除键值对
// [dict removeObjectForKey:<#(id)#>];
NSString *str = dict[@"name"];

//NSLog(@"%@", str);

NSLog(@"%@", dict);


上面的方法比较繁琐,oc中也有快速创建词典的方法:

NSMutableDictionary *dict = @{@"name" : @"sun",@“address” : @“山西”};

id obj = dict[@"name"];

NSLog(@"%@", obj); //输出结果为sun
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言基础 框架