Fundation构架

  ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


一、Foundation框架简介 

 

   1、Foundation框架的作用

 

   1>开发oc、ios、Mac程序必备的框架,是其它所有IOS框架的基础

 

   2>此框架中包含了很多常用的API(应用编程接口)

 

   3>框架中包含了很多头文件,若想使用整个框架的内容,包含它的主头文件即可

 

  2. Foundation框架的主头文件名称就是Foundation.h

 

  3. Foundation框架包含了很多数据类型(结构体,枚举)和类

 

Foundation框架中常用的类有:

 

    NSString——字符串;NSArray——数组;NSNumber——数字;NSDate——日期

 

NSData——数据;NSDictionary——字典

 

二、Foundation框架中的结构体

 

    Foundation框架中的结构体(NSRange,NSPoint(CGPoint),NSSize(CGSize),NSRect (CGRect))

 

1、将结构体转换为字符串:

 

          CGPoint  P1=NSMakePoint(10,10);

 

         NSString*str =NSStringFromPoint(P1);        //将P1这个结构体转成字符串

 

         NSLog(@"%@",str);                              // 输出结果为{10,10}

 

2、结构体的其它用法

 

    1. 坐标原点的表示方法

 

      1> CGPointMake(0,0)

 

      2> CGPoint Zero 

 

    2. 判断两个点是否相同(BOOL类型)

 

     CGPoint EqualToPoint((CGPoint  point1),(CGPoint point2))

 

          //可以将  CGPoint换成CGSize或者 CGRect

 

    3. 判断一个点是否在一个范围内

 

       CGRectContainsPoint((CGRect rect),(CGPoint  point))

 

        使用这些函数的前提是CoreGraphics框架

 

三、NSSet和NSMutableset(无序的)

 

   1. NSSet(不可变)

 

        创建

 

           NSSet *s=[NSSet set];        //空的set

 

           NSSet *s2=[NSSet SetWithObect:@"jack",@"rose",nil]; 

 

        随机拿出一个对象

 

            NSString *str=[s2 anyobject];

 

   2. NSMutableSet(子类)(可变)

 

       创建

 

            NSMutableSet *s=[NSMutableSet set]

 

       添加元素

 

            [s addobject:"@hake"]

 

        删除元素

            [s removeAllobject]                       //删除所有元素

 

            [s removeAllobject::"@hake"]           //删除指定元素

 

四、字典NSDictionary和NSMutableDictionary(无序的)

 

   1. NSDictionary(不可变)

 

       创建

 

        NSDictionary*dict=[ NSDictionaryWithObject:@"jack"for key:@"name"];  

 

             //一对键值,根据name可以找到jack

 

        字典就是通过key(索引)----------->value(值)

 

        字典存储的东西都是键值对

 

        访问name对应的值:[dict objectForkey:@"name"];

 

          NSArray*keys=@[@"name",@"address"];

 

         NSArray*objects=@[@"jack",@" 北京"];

 

        NSDictionary*dict=[NSDictionary  DictionaryWithObject :objectsfor key:keys];

 

                //根据keys找objects

 

       快速创建

 

        NSDictionary*dict=@{@"name":@"jack",@"address":" 北京"};  

 

        id obj=dict[@"name"];//拿出name对应的值

 

       遍历

 

        NSDictionary*dict=@{@"name":@"jack",@@"address":" 北京"}; 

 

            1> for循环

 

              NSString *keys=[dict allkeys];

 

              for(int i=0;i

 

              {

 

                NSString *key=keys[i];

 

                NSString *object=dict[key];

 

                NSLog(@"%@=%@",key,object);

 

              }

            2>block方法

 

            [dict enumeratekeysAndobjectsUsingBlock:

 

            ^(id key,id obj,BOOL*stop){NSLog(@"%@=%@",key,object);}]

 

    2. NSMutableDictionary(可变的)

 

       创建

 

        NSMutableDictionary*dict=[ NSMutableDictionary dictionary];   //空字典

 

       添加键值对

 

             [dict setobject:@"jack" for key :@"name"];

 

             [dict setobject:@"rose" for key :@"name"];        //会将"jack"覆盖

 

       删除键值对

 

             [dict removeobjectForkey:(id)]

 

       NSMutableDictionary 不能使用快速创建

 

五、NSNumber和NSvalue

 

    把基本数据类型包装成OC 对象:NSNumber*num=[NSNumber  numberWithInt:10]

 

       NSDictionary*dict=@{@"name":@"jack",@"age":" num"}; 

 

      NSNumber*num2=dict[@"age"];

 

      //取出的age还是OC对象

 

     int a=[num2 intvalue];//将num2(OC对象)转为基本数据类型

 

     @20   //将基本数据类型快速转化成OC对象(@"20")

 

     @"A":NSString对象

 

     @'A'  将字符包装成一个NSNumber对象

 

     int age=100

 

      @(age)//将age包装成NSNumber对象

 

  将结构体包装成OC 对象

 

      CGPoint =CGPointMake(10,10);//  结构体

 

      NSvalue value=[NSvalue valueWithPoint :p]//把结构体转为OC 对象

 

       NSArray *array=@[value];//把对象放进数组

 

       [value pointValue];//把value转为对应的结构体

 

        NSnumber之所以能将基本数据类型包装成OC对象,是因为它继承了NSvalue

 

六、NSDate

 

    创建一个时间对象

 

       NSDate *date=[NSDate date];

 

       NSLog(@"%@",date);//打印出的时间是0时区的时间

 

    NSDate *date=[NSDate dateWithTimeInterval:5 sinceDate:date];//date2比date晚5秒

 

    NSTimeIntelval seconds={date timeInterval since 1970};// 从1970开始走过的秒数

 

   日期格式化类(date转string)

 

    1>  NSDate date=[NSDate date];

 

        NSDateFormatter *formatter=[[NSDateFormatter alloc]init]

 

        formatter.dateFormat=@"yyyy-MM-dd   HH:mm:ss";

 

        NSString *str=[formatter   stringFormDate:date];

 

        NSLog(@"%@"str);//y年M月d日 m分s秒H(24小时制)h(12小时制)

 

    2> NSString转NSDate

 

        NSString *time=@"2011/09/10 18:56";

 

        NSDateFormatter *formatter=@"yyyy-MM-dd   HH:mm:ss";

 

        NSDate date=[formatter dateFromString:time];

 

        NSLog(@"%@",date);

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值