• Foundation框架


    一、基础知识

      如果要想使用 Foundation 框架的数据类型,那么包含它的主头文件就可以了。即 #import <Foundation/Foundation.h> 

      补充: Core Foundation 框架是相对底层,里面的代码几乎都是C语言的,而 Foundation 中是OC的。

          iOS中坐标原点在左上角,向右水平方向为x轴,向下垂直方向为y轴。

    二、常用的结构体介绍及简单使用

      常用的结构体:

        //在Foundation框架中常用的四种结构体
        NSRange(location, length)       //表示范围
        CGPoint(x, y)                   //表示坐标
        CGSize(width, height)           //表示UI元素的尺寸
        CGRect(CGPoint, CGSize)         //一个UI元素的位置和尺寸

      (一) NSRange 的基本使用

       @"I love programming"   //love的范围,location=2,length=4 

       {1, 2, 3, 4, 5} //后三个数字的范围,location=2, length=3 

      //使用NSRange创建变量
      NSRange r1 = {2, 4};    //可读写不好
      NSRange r2 = {.location=2, .length=4};  //比较多余
      NSRange r3 = NSMakeRange(2, 4)      //必须掌握
    1 //查找某个字符串在str中的范围
    2 NSString *str = @"I love programming";
    3 NSRange range = [str rangeOfString:@"love"];
    4 NSLog(@"loc = %ld, length = %ld", range.location, range.length);
    输出:loc = 2, length = 4

      

      (二) CGPoint 的使用

       CGPoint p1 = CGPointMake(20, 20); 

       CGPoint p2 = CGPointZero;  //表示原点(0,0) 

      (三) CGSize 的使用

       CGSize s1 = CGSizeMake(100, 50); 

       CGSize s2 = CGSizeZero; 

      (四) CGRect 的使用

        CGRect r1 = CGRectMake(0, 0, 100, 50);
        CGRect r2 = { {0, 0}, {100, 50}};
        CGRect r3 = {p1, s1};
        CGRect r4 = {CGPointZero, CGSizeMake(100, 90)};
        CGRect r5 = CGRectZero;
    NSLog(@"x=%.1f, y=%.1f, width=%.1f, height=%.1f", r1.origin.x, r1.origin.y, r1.size.width, r1.size.height);
    输出为:x=0.0, y=0.0, width=100.0, height=50.0
    1     //将结构体转为字符串
    2     NSString *str1 = NSStringFromRange(range1);
    3     NSString *str2 = NSStringFromCGPoint(p1);
    4     NSString *str3 = NSStringFromCGSize(s1);
    5     NSString *str4 = NSStringFromCGRect(r1);
    6     NSLog(@"str1 = %@
     str2 = %@
     str3 = %@
     str4 = %@", str1, str2, str3, str4);
    输出为:

     str1 = {2, 4}

     str2 = {20, 20}

     str3 = {100, 50}

     str4 = {{0, 0}, {100, 50}}

      (五) Foundation 框架中结构体常用函数

    1     BOOL a = CGPointEqualToPoint(CGPointMake(10, 10), CGPointZero);
    2     BOOL b = CGSizeEqualToSize(s1, s2);
    3     BOOL c = CGRectEqualToRect(r1, r2);
    4     BOOL d = CGRectContainsPoint(r1, CGPointZero);
    5     NSLog(@"a=%d, b=%d, c=%d, d=%d", a, b, c, d);
    输出为:a=0, b=0, c=1, d=1

    参考博文:foundation框架—结构体

      

  • 相关阅读:
    Ubuntu 下安装Mongodb
    iOS 配置支付宝
    Spring异步任务处理,@Async的配置和使用
    [Tue, 11 Aug 2015 ~ Mon, 17 Aug 2015] Deep Learning in arxiv
    linux-shell脚本命令之awk
    字符串写入文件
    UVa 10773
    Flex下拉框
    DELPHI dbgrid 选中的是第几行 怎么判断?
    delphi 取得数据集某字段值的六种方法
  • 原文地址:https://www.cnblogs.com/wjq-Law/p/5092816.html
Copyright © 2020-2023  润新知