objective-c 中数据类型之一 几何数据类型(NSPoint,NSSize,NSRect)

来源:互联网 发布:阿里巴巴转淘宝数据包 编辑:程序博客网 时间:2024/06/14 18:20
// NSPoint 结构体数据原型, 用于声明一个点;
/* Points. */
 
struct CGPoint {
  CGFloat x;
  CGFloat y;
};
typedef struct CGPoint CGPoint;
 
typedef CGPoint NSPoint;
 
// 用法;
 
// 1. 声明一个NSPoint变量,初始化时赋值方式1;
     
    NSPoint point = {1, 2}; //NSPoint是一个结构体类型,不是对象,所以变量前不加'*'号;
    // 另一种初始化变量方式2;
    NSPoint point2 = {.x = 4, .y = 5};
    point2.x = 2; // 赋值方式3;
    point2.y = 3;
     
    point = NSMakePoint(4, 5); // 赋值方式4;
    // 输出point的x,y值;
    NSLog(@"%f, %f", point.x, point.y);
 
// 2. 声明一个NSSize变量,初始化时赋值方式1;
     
    NSSize size = {4, 5};  //NSSize是一个结构体类型,不是对象,所以变量前不加'*'号;
    // 另一种初始化变量方式2;
    NSSize size2 = {.width = 4, .height = 5};
    size2.width = 4; // 赋值方式3;
    size2.height = 5;
     
    size = NSMakeSize(4, 5); // 赋值方式4;
    // 输出size的width,height值;
    NSLog(@"%f, %f", size.width, size.height);
 
 // 3. 声明一个NSRect变量,初始化时赋值方式1;
     
    NSRect rect = {1, 2, 4, 5}; //NSRect是一个结构体类型,不是对象,所以变量前不加'*'号;
    // 另一种初始化变量方式2;
    NSRect rect2 = {.origin.x = 1, .origin.y = 1, .size.width = 4, .size.height = 5};
    // 赋值方式3;
    rect2.origin.x = 1;
    rect2.origin.y = 2;
    rect2.size.width = 4;
    rect2.size.height = 5;
    // 赋值方式4;
    rect = NSMakeRect(1, 2, 4, 5);
    // 输出rect的origin,size值;
    NSLog(@"%f, %f, %f, %f", rect2.origin.x, rect2.origin.y, rect2.size.width, rect2.size.height
0 0