黑马程序员_OC学习之Foundation框架2

来源:互联网 发布:复旦在职研究生 知乎 编辑:程序博客网 时间:2024/05/17 14:18

------- IOS培训、android培训、期待与您交流! ----------

在Foundation框架中提供的NSSet:
NSSet是Object-c中使用的最少的集合类,它就如同在一个池子里放进所需要的元素。
它是无序的集合类,并且所存储的所有对象只能有唯一一个,不能重复。
 NSSet和NSArray的对比
 1>共同点
 *都是集合,都能存放多个OC对象
 *只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
 *本身都不可变,都有一个可变的子类
 2> 不同点
 * NSArray有顺序,NSSet没有顺序
NSSet的使用:
[NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造
[NSSet setWithArray:(NSArray *)array];用数组构造
[NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志。
[set count] ; 得到这个结合对象的长度。
[set containsObject:...]: 判断这个集合中是否存在传入的对象,返回Bool值。
[set objectEnumerator]: 将集合放入迭代器。
[enumerator nextObject]:得到迭代器中的下一个节点数据,使用while遍历这个迭代器,方可遍历集合对象中的对象。
[set isEqualToSet:objset]:判断两个集合是否完全相等,返回Bool值。
[set isSubsetOfSet:objset]:判断集合中的所有数据是否都相等与objeset集合中,返回Bool值。




代码案例:
NSSet *s = [NSSet set];
    
    NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
    
   //随机拿出一个元素
    NSString *str =  [s2 anyObject];
    
    NSLog(@"%@", str);




在Foundation框架中提供的NSDictionary:
存储方式说明:
字典:
key ----> value
索引 ---->文字内容
里面存储的东西都是键值对
举代码例说明:
 NSDictionary *dict = @{@"name" : @"jack", @"address" : @"北京"};
    id obj = dict[@"name"];
    NSLog(@"%@", obj);
    // 返回的是键值对的个数
    NSLog(@"%ld", dict.count);
其中常用方法:
void use2()
{
    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);
     //NSLog(@"%@", @[@"jack", @"rose"]);
}




在Foundation框架中提供的NSDate:
NSDate的创建以及用法:
//创建一个时间对象
    NSDate *date = [NSDate date];
   //打印出的时候是0时区的时间(北京-东8区)
    NSLog(@"%@", date);
    
    NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];
    // 从1970开始走过的秒数
    NSTimeInterval seconds = [date2 timeIntervalSince1970];


NSString与NSDate转换
int main()
{
    // 09/10/2011
    NSString *time = @"2011/09/10 18:56";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy/MM/dd HH:mm";
    NSDate *date = [formatter dateFromString:time];
    NSLog(@"%@", date);
    return 0;
}


void date2string()
{
    NSDate *date = [NSDate date];
     // 日期格式化类
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    // y 年  M 月  d 日
    // m 分 s 秒  H (24)时  h(12)时
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    NSString *str = [formatter stringFromDate:date];
    NSLog(@"%@", str);
}








------- IOS培训、android培训、期待与您交流! ----------
0 0
原创粉丝点击