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));
     
  • 相关阅读:
    DB开发之oracle存储过程
    DB开发之mysql
    DB开发之oracle
    DB开发之postgresql
    Object-C开发之instancetype和id关键字
    Linux 学习笔记
    Java开发之JDK配置
    Android开发在路上:少去踩坑,多走捷径
    C/C++之Qt正则表达式
    Linux 安全配置指南
  • 原文地址:https://www.cnblogs.com/1023843587qq/p/4782085.html
Copyright © 2011-2022 走看看