黑马程序员——NSDictionary和NSDate的使用

黑马程序员——OC基础---NSDictionary

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

0.NSDictionary

  创建1

  NSDictionary*dic = [NSDictionary dictionarywithobject:@jackforKey:@” name];

  创建2

  NSDictionary*dic = [NSDictionary dictionarywithobjectAndKey:@jack”,@” name”,nil];

  含义:

  Key------------------>value

  索引----------------->文字内容

  输出:

  id  obj = [ dic objectForKey:@”name”];  // key赋值给obj

  NSLog(@”%@”, obj);   // 输出jake

 

1.以集合的形式写入Key value

  NSArray *keys = [@”name”,@”adress”];

  NSArray *objects = [@”jake”,@”北京” ]

  NSDictionary *dic = [NSDictionary dictionarywithobject:@jackforKey:@name];

  id  obj = [ dic objectForKey:@”name”];

// 通过访问key得到value的值;

NSLog(@”%@”, obj);   // 输出jake

 

2.新写法

  创建:*NSDictionary *dic = @{@”name” : @”jake”,@”adress : @”北京”};

         返回的是不可变的字典。

  输出:id obj = dict{@name}

        Dict.count 返回的是键值对数。

 

3.添加键值的办法

  NSMutableDictionary *dic = [NSMutableDictionary dictionarywithobject:@jake forKey:@name];

  [ dic  setobject : @tom forKey : @name];  // 可变字典可添加键值。

 

4.遍历方法(两种

  C语言:

NSArray *keys = [dict allKeys];
   For (int i = 0; i < dict.count; i++)
   {
      NSString *key = keys[i];
      NSString *object = dict[key];
      NSLog(@”%@ = %@,key,object”);
   }

   Block遍历:

[dic enumeratekeysAndobjectsUsingBlock:
  ^(id key ,id obj, BOOL *stop){
    NSLog(@”%@---%@”,key ,obj);
    *stop = YES  // *stop为yes时,遍历停止
}]

5.集合总结

  NSArray

  * 有序

  * 快速创建 @[ obj1, obj2 obj3 ]  (不可变)

  * 快速访问元素 数组名[i];

  NSDictionary

  * 无序

  * 快速创建 @{key1:obj1, key2:obj2}  (不可变)
  * 快速访问 字典名[key]

 

6.NSNumber

  int转为OC对象:

   NSNumber *num = [NSNumber numberWithInt:10];

  OC对象转为int

   Int a = [num intValue];

  NSNumber之所以能够包装普通数据类型,是因为继承了NSValue

 

7.字符串类型与普通类型的相互转化

  int a = 20;

  NSString *str = [NSString strngWithFormat:@%d,a];

  int b = [str intValue];

 

8.编译器特性

  @后面跟一个数字,会自动包装成NSNumber对象。

  int age = 123;转化用()包住@age

  @a’将a包装成NSNumber对象。

 

9.结构体的包装

CGPoint p = CGPointMake(10,10);
  NSValue value = [NSValue valueWithPoint:p];
  NSArray *array = @[value]
  //  [ value PointValue]   将对象转为对应的结构体

10.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;
}

将对象转化为字符串输出

int main()
{
    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);
}


 

 

   

  

  

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值