// CGPoint 结构体数据原型, 用于声明一个点;
/* Points. */ struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint; typedef CGPoint NSPoint; // 使用方法;
    
    // 1. 声明一个CGPoint变量,初始化时赋值方式1;
    
    CGPoint point = {1, 2};  //CGPoint是一个结构体类型,不是对象,所以变量前不加'*'号;
    // 还有一种初始化变量方式2;
    CGPoint point2 = {.x = 4, .y = 5};
    point2.x = 2; // 赋值方式3;
    point2.y = 3;
    
    point = CGPointMake(4, 5);  // 赋值方式4;
    // 输出point的x,y值。
    NSLog(@"point = %@",NSStringFromCGPoint(point));
    
    // 2. 声明一个CGSize变量,初始化时赋值方式1。
    
    CGSize size = {4, 5};   //CGSize是一个结构体类型,不是对象,所以变量前不加'*'号;
    // 还有一种初始化变量方式2;
    CGSize size2 = {.width = 4, .height = 5};
    size2.width = 4; // 赋值方式3。
    size2.height = 5;
    
    size = CGSizeMake(4, 5);  // 赋值方式4;
    // 输出size的width,height值。
    NSLog(@"size = %@",NSStringFromCGSize(size));
    
    // 3. 声明一个CGRect变量,初始化时赋值方式1;
    
    CGRect rect = {1, 2, 4, 5};  //CGRect是一个结构体类型。不是对象,所以变量前不加'*'号;
    // 还有一种初始化变量方式2;
    CGRect rect2 = {.origin.x = 1, .origin.y = 1, .size.width = 4, .size.height = 5};
    // 赋值方式3。
    CGRect rect3 = {.origin = {.x = 1, .y = 1}, .size = {.width = 4, .height = 5}};
    // 或
    CGRect rect4 = {.origin = {1, 1}, .size = {4, 5}};
    // 赋值方式4;
    rect2.origin.x = 1;
    rect2.origin.y = 2;
    rect2.size.width = 4;
    rect2.size.height = 5;
    // 赋值方式5。
    rect = CGRectMake(1, 2, 4, 5);
    // 输出rect的origin,size值。
    NSLog(@"rect = %@",NSStringFromCGRect(rect));

objective-c 中数据类型之中的一个 几何数据类型(CGPoint,CGSize,CGRect)的更多相关文章

  1. 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

    题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...

  2. 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制

    实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本 ...

  3. Verilog缺少一个复合数据类型,如C语言中的结构体

    https://mp.weixin.qq.com/s/_9UsgUQv-MfLe8nS938cfQ Verilog中的数据类型(Data Type)是分散的,缺少一个复合数据类型:把多个wire, r ...

  4. JAVA基础篇NO2--Java中的基本命名规则及数据类型

    1.Java中的常量及进制 1.常量: 在程序运行的过程中,不可以改变的量,就是常量 boolean类型的值只能是true或者false null: 空常量, 代表不存在! ------------- ...

  5. 【iOS与EV3混合机器人编程系列之四】iOS_WiFi_EV3_Library 剖析之中的一个:WiFi UDP和TCP

    在上一篇文章中.我们通过编写EV3 Port Viewer项目实现了iOS监測EV3的实时端口数据. 程序最核心的部分就是我们的开源码库iOS_WiFi_EV3_Library. 那么,在本文中,我们 ...

  6. The Pragmatic Programmer 读书笔记之中的一个 DRY-Don’t Repeat Youself

     The Pragmatic Programmer读书笔记之中的一个 DRY-Don't Repeat Youself 尽管自己买了非常多软件project方面的书,可是由于时间的问题.一直没有静 ...

  7. 【iOS与EV3混合机器人编程系列之中的一个】iOS要干嘛?EV3能够更酷!

    乐高Mindstorm EV3智能机器人(下面简称EV3)自从在2013年的CES(Consumer Electronics Show美国消费电子展)上展出之后,就吸引了全球广大机器人爱好者的眼球!E ...

  8. 一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK

    一.-100.01 的double 在内存中怎么存储的 double双精度数据类型存储格式IEEE 双精度格式为8字节64位,由三个字段组成:52 位小数 f : 11 位偏置指数 e :以及 1 位 ...

  9. 理解Objective C 中id

    什么是id,与void *的区别 id在Objective C中是一个类型,一个complier所认可的Objective C类型,跟void *是不一样的,比如一个 id userName, 和vo ...

随机推荐

  1. 获取证书以用于 Windows Azure 网站 (WAWS)

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 近年来,随着网络犯罪的上升,使用 SSL 保护网站逐渐成为一项备受追捧的功能,Windows A ...

  2. 利用navicat for oracle将数据库全部数据移动

    话不多说.直接上图. 1.首先选择自己的数据库. 右键,data transfer 2.选择相应源数据库,目标数据库.点击start就可以.假设中间失败,可多尝试几次. 2.

  3. 11181 - Probability|Given

    N friends go to the local super market together. The probability of their buying something from them ...

  4. c语言:union,大小端

    union: 不允许只用联合变量名作赋值或其它操作. 也不允许对联合变量作初始化赋值,赋值只能在程序中进行. 小端存储: 以字节为单位,低存低,高存高. 任何数据在内存中都是以二进制(1或着0)顺序存 ...

  5. Java--Eclipse关联Java源码

    打开Eclipse,Window->Preferences->Java 点Edit按钮后弹出: 点Source Attachment后弹出: 选择Java安装路径下的src.zip文件即可 ...

  6. ASP.NET - 网页重定向 Response.Redirect()

    在网页中使用重定向,意思就是在网站中的某一个页面跳转到另一个页面. Response.Redirect(~/abc.aspx); 使用“~”的作用是可以从任意位置跳转. 如果没有“~”,那么跳转的时候 ...

  7. 删除PO

    FUNCTION zrfc_mm002. *"---------------------------------------------------------------------- * ...

  8. android文件下载大小和网络不一致(偏大)

    今天在写一个文件下载的程序,在网上搜索了一个抄,用来下载MP3文件. 但是发现下载的MP3文件比原来的文件要大,而且MP3中会有杂音. 在Log中加入日志后发现: 从  网络流中获取的流长度为3000 ...

  9. http协议与web本质

    当你在浏览器地址栏敲入“http://www.csdn.net/”,然后猛按回车,呈现在你面前的,将是csdn的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员,我想 ...

  10. Unity 3D学习笔记(三)——关于脚本

    在脚本中定义的类成员,如果是公共的话,在脚本与游戏对象绑定之后,是可以在Inspector中编辑的,例如下面这个脚本: using UnityEngine; using System.Collecti ...