黑马程序员_Foundation_NSSet,NSDictionary,NSValue,NSDate,NSNumber
来源:互联网 发布:室内温度检测软件 编辑:程序博客网 时间:2024/05/16 07:06
黑马程序员_Foundation_NSSet,NSDictionary,NSValue,NSDate,NSNumber
1NSNumber
这是一个创建oc数字对象的类
创建对象的方法
+(NSNumber *)numberWithInt:(int)value;
+(NSNumber *)numberWithDouble:(double)value;
+(NSNumber *)numberWithBool:(BOOL)value;
从NSNumber中取出之前包装的基本数据类型
- (char)charValue;
-(int)intValue;
-(long)longValue;
-(double)doubleValue;
-(BOOL)boolValue;
-(NSString *)stringValue;
2NSDate
• NSDate可以用来表示时间, 可以进行一些常见的日期\时间处理
• 一个NSDate对象就代表一个时间
• [NSDate date]返回的就是当前时间
// 创建一个时间对象
NSDate *date = [NSDate date];
//打印出的时候是0时区的时间(北京-东8区)
NSLog(@"%@", date);
NSDate *date2 = [NSDatedateWithTimeInterval:5 sinceDate:date];
//从1970开始走过的秒数
NSTimeIntervalseconds = [date2 timeIntervalSince1970];
NSString *time =@"2011/09/10 18:56";
通过NSDateFormatter创建日期,日期格式转化类
NSDateFormatter*formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat =@"yyyy/MM/ddHH:mm";
NSDate *date =[formatter dateFromString:time];
3NSValue
• NSNumber是NSValue的子类, 但NSNumber只能包装数字类型
• NSValue可以包装任意值
// NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue
//结构体--->OC对象
CGPoint p = CGPointMake(10,10);
//将结构体转为Value对象
NSValue *value = [NSValuevalueWithPoint:p];
//将value转为对应的结构体
// [value pointValue];
NSArray *array =@[value ];
4NSSet
集合,就是能用来容纳OC对象的容器
NSArray、NSDictionary等都是
NSSet和NSArray的对比
1>共同点
*都是集合,都能存放多个OC对象
*只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
*本身都不可变,都有一个可变的子类
2>不同点
NSArray有顺序,NSSet没有顺序
//创建元素
NSMutableSet *s = [NSMutableSet set];
// 添加元素
[s addObject:@"hack"];
// 删除元素
// [s removeObject:<#(id)#>];
NSSet *s = [NSSet set];
NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",@"jack2",@"jack3",nil];
//随机拿出一个元素
NSString *str = [s2 anyObject];
5NSDictionary
NSDictionary翻译过来叫做”字典”
日常生活中, “字典”的作用:通过一个拼音或者汉字,就能找到对应的详细解释
NSDictionary的作用类似:通过一个key,就能找到对应的value
NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改
NSDictionary的创建
常用类
+ (instancetype)dictionary;
+(instancetype)dictionaryWithObject:(id)objectforKey:(id <NSCopying>)key;
+(instancetype)dictionaryWithObjectsAndKeys:(id)firstObject,...;
+(id)dictionaryWithContentsOfFile:(NSString*)path;
+(id)dictionaryWithContentsOfURL:(NSURL*)url;
比较
集合
1.NSArray\NSMutableArray
*有序
*快速创建(不可变):@[obj1, obj2, obj3]
*快速访问元素:数组名[i]
2.NSSet\NSMutableSet
*无序
3.NSDictionary\NSMutableDictionary
*无序
*快速创建(不可变):@{key1 : value1, key2 : value2}
*快速访问元素:字典名[key]
- 黑马程序员_Foundation_NSSet,NSDictionary,NSValue,NSDate,NSNumber
- 黑马程序员_Foundation学习之NSSet、NSDictionary、NSNumber、NSValue、NSDate
- 黑马程序员 OC语言 - 9 NSDictionary、NSMutableDictionary、NSNumber、NSDate、NSValue
- 黑马程序员——Foundation---NSSet,NSDictionary,NSNumber,NSDate,NSValue
- 黑马程序员--oc:NSString、NSValue、NSNumber、NSDate
- 黑马程序员一NSNumber, NSDate,NSValue
- 黑马程序员—— Foundation框架NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- 黑马程序员--ios基础--oc-foundation--NSSet、NSDictionary、NSNumber、NSValue、NSDate
- OC--Foundation-NSDictionary,NSNumber,NSDate,NSValue
- 黑马程序员——foundation框架之NSNumber,NSDate,NSValue
- 黑马程序员---Foundation常用类(NSNumber、NSValue、NSDate)
- 黑马程序员 oc随记 NSNumber、NSValue与NSDate
- 黑马程序员--NSNumber NSValue
- Foundation框架—NSArray、NSSet、NSDictionary、NSNumber、NSDate、NSValue
- 黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 黑马程序员-OC笔记(七)集合类 NSNumber、NSValue NSDate
- 黑马程序员——Foundation学习—-----NSDate、NSValue、NSNumber使用
- JavaScript:避免代码的重复执行
- java50题----29矩阵对角线和
- java50题----30插入数组
- 黑马程序员_Foundation_Nsstring,Nsrange,Nsarray,内存管理
- java50题----31数组逆序输出
- 黑马程序员_Foundation_NSSet,NSDictionary,NSValue,NSDate,NSNumber
- 黑马程序员_OC_ARC,block,protocol
- 黑马程序员_OC_第一个类,@property和@synthesize,Category,description方法
- java50题----32整数取四位
- 黑马程序员_OC_封装,继承,多态
- 我的mac OSX bash_profile文件
- 黑马程序员_C_递归,作用域,数组
- 黑马程序员_C_运算符,分支
- 黑马程序员_C_循环