zoukankan      html  css  js  c++  java
  • Objective-C( Foundation框架 一 常见的结构体)

    常见的结构体 (NSPoint,CGPoint)、(NSRange,CGRange)、(NSSize,CGSize)

    苹果官方推荐使用CG开头的结构体

    NSRange是Foundation框架中常见的结构体它的定义如下:

    typedef struct _NSRange

    {

      // 范围的起始位置

      NSUInteger location;

      // 范围的长度

      NSUInteger length

    }

    NSUInteger的定义:

    typedef unsigned int NSInteger;

    typedef unsigned long NSUInteger;

    NSRange创建的几种方式

        
        NSRange range;
        range.location = 2;
        range.length = 3;
        
        range= (NSRange){3, 5};
         
        NSRange r = NSMakeRange(2, 4);
           

    CGPoint 和 NSPoint :用来表示二维平面的一个点

    CGPoint 是NSPoint的一个别名

    struct CGPoint {
       CGFloat x; 点的x方向
       CGFloat y; 点的y方向
    };

    用法:
        
      // 表示二维平面的一个点
        CGPoint p1 = NSMakePoint(10 ,14);
        NSPoint p2 = CGPointMake(11,20);
    
        CGPoint c1 = { 10, 12};
      
    
    

    CGSize 和 NSSize:用来表示平面的面积

    struct CGSize {
       CGFloat width;  宽
       CGFloat height; 高
    };
        CGSize s1;
        s1.width = 10;
        s1.height = 20;
        
        // OC中特有的方式
        CGSize s2 = CGSizeMake(14, 13);

    CGRect  和 NSRect:表示在平面上左上角是某个点的矩形区域

    struct CGRect {
        var origin: CGPoint  // 表示矩形左上角的点
        var size: CGSize     // 表示矩形的大小
        init()
        init(origin origin: CGPoint, size size: CGSize)
    }

        CGRect r = {{0, 1},{20, 30}};
       
        // OC特有方式
        CGRect r1 = CGRectMake(1, 2, 10, 60);
        NSRect r2 = NSMakeRect(2, 5, 80, 90);
        
        // 打印方式
        NSLog(@"r1 = %@", NSStringFromRect(r1));
     
  • 相关阅读:
    每天一个linux命令---mount
    java反射机制
    每天一个linux命令---netstat
    oracle调试存储过程
    ora-14400插入的分区关键字未映射到任何分区---oracle数据库表过期问题
    Java类加载
    nginx学习笔记
    web工程spring+ibatis单元测试
    每天一个Linux命令---tcpdump
    每天一个linux命令---导出到文件
  • 原文地址:https://www.cnblogs.com/1023843587qq/p/4782085.html
Copyright © 2011-2022 走看看