黑马程序员——Objevtive-C——Foundation框架2
来源:互联网 发布:宝玛中走丝是什么软件 编辑:程序博客网 时间:2024/05/27 02:32
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
集合类NSDictionary
一、具备字典的功能,根据一个标识找到对应的东西。NSDictionary里存储的东西都是键值对,key称之为键,value称之为值。
#import <Foundation/Foundation.h>int main(){NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" fokey: @"name"];NSDictionary *keys = @[@"name",@"address"];NSDictionary *objects = @[@"jack",@"北京"];NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"jack",@"name",...........NSDictionary *dict = @{@"name":@"jack",@"address":@"北京"};//可读性好,推荐,但//大括号创建的是不可变的。id obj = [dict objectForKey:@"name"];//较繁琐id obj = dict[@"name"];//简洁,推荐dict.count//返回的是键值对的个数dict.setObject:@"jack" forkey:@"name";//添加键值对dict.setObject:@"rose" forkey:@"name";//如果多次给//一个key赋值,会覆盖之前的值。[dict removeObjectForkey:]//删除键值对//遍历//字典不允许有相同的key,但允许有相同的值。NSDictionary *dict = @{@"name":@"jack",@"qq":@"926459723"};NSArry *keys = [dict allkeys];for (int i = 0;i<dict.count;i++)//方法一{NSString *key = keys[i];NSString *object = dict[key];NSLog(@"%@ = %@",key,object);}//方法2,字典无顺序,所以推荐block[dict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop) { NSLog(@"%@ - %@", key, obj); // *stop = YES;只遍历一次,打印一次就停止 }];//通讯录NSArry *persons = @[@{@"name":@"jack",@"qq":@"134421514"@{...@{...];NSLog(@"%@",jim);return 0;}
NSNumber、NSValue类
一、NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。因为很多类(如NSArray)都要求使用对象,而基本数据类型不是对象。
#import <Foundation/Foundation.h>int main(){ // @20 将 20包装成一个NSNumber对像 NSArray *array = @[ @{@"name" : @"jack", @"age" : @20}, @{@"name" : @"rose", @"age" : @25}, @{@"name" : @"jim", @"age" : @27} ]; // 将各种基本数据类型包装成NSNumber对象 @10.5; @YES; @'A'; // NSNumber对象 @"A"; // NSString对象 // 将age变量包装成NSNumber对象 int age = 100; @(age); //[NSNumber numberWithInt:age]; NSNumber *n = [NSNumber numberWithDouble:10.5]; int d = [n doubleValue]; int a = 20; // @"20" NSString *str = [NSString stringWithFormat:@"%d", a]; NSLog(@"%d", [str intValue]); return 0;}void test(){ NSNumber *num = [NSNumber numberWithInt:10]; NSDictionary *dict = @{ @"name" : @"jack", @"age" : num }; NSNumber *num2 = dict[@"age"]; int a = [num2 intValue]; NSLog(@"%d" , a);}
二、NSValue,NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue.
而NSValue还可以包装结构体。
int main(){ // 结构体--->OC对象 CGPoint p = CGPointMake(10, 10); // 将结构体转为Value对象 NSValue *value = [NSValue valueWithPoint:p]; // 将value转为对应的结构体 // [value pointValue]; NSArray *array = @[value ]; // insert code here... // NSLog(@"这是哥修改过的东西6"); return 0;}
NSDate
一、NSDate是NSString类的格式,也可以改变输出,如果需要输出年代信息等则需要进行转换,等等。NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间。NSDateFormatter可以比较方便地进行格式转换。
#import <Foundation/Foundation.h>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);}void use(){ // 创建一个时间对象 NSDate *date = [NSDate date]; // 打印出的时候是0时区的时间(北京-东8区) NSLog(@"%@", date); NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; // 从1970开始走过的秒数 NSTimeInterval seconds = [date2 timeIntervalSince1970]; // [date2 timeIntervalSinceNow];
0 0
- 黑马程序员——Objevtive-C——Foundation框架2
- 黑马程序员--Objective-C——Foundation框架一
- 黑马程序员--Objective-C——Foundation框架二
- 黑马程序员——Foundation框架
- 黑马程序员——Foundation框架
- 黑马程序员—foundation框架总结
- 黑马程序员—Foundation框架之NSString
- 【黑马程序员】OC-Foundation框架—NSMutableString
- 黑马程序员——[Foundation]Foundation框架01
- 黑马程序员——0C语言——Foundation框架
- 黑马程序员——Objective-C——Foundation框架1
- 黑马程序员——Objective-C语言基本知识总结——Foundation框架
- 黑马程序员——Foundation框架——NSString
- 黑马程序员——Foundation框架——NSFileManager
- 黑马程序员——Foundation框架—字符串方法
- 黑马程序员——Foundation框架—NSArray
- 黑马程序员——Foundation框架—文件操作
- 黑马程序员——OC基础05—Foundation框架
- 糗大了
- hive与hbase数据交互的详解指南
- 各数据库 JAVA字段对应关系
- DevExpressControl中的GridControl展现主从表数据结构
- C++模板
- 黑马程序员——Objevtive-C——Foundation框架2
- 日期calendar月份加1
- HDU 1272小希的迷宫 并查集问题
- Hive SQL的编译过程
- 最长的回文字符串
- 工作日志4-21
- 十五、类与对象:类的组合
- Android--AsyncTask的使用
- Altium Designer PCB 常用功能键