// 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. 第一次PS练习

    嘿嘿,自己第一次的PS,虽然把在大神眼里是小KS,但是了,对我来说值得劲纪念.加油,我会努力的.

  2. PHP - FTP上传文件类

    /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...

  3. JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)

    链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...

  4. Windows Phone 8初学者开发—第22部分:用演示图板创建卷盘的动画

    原文 Windows Phone 8初学者开发—第22部分:用演示图板创建卷盘的动画 第22部分: 用演示图板创建卷盘的动画 原文地址:http://channel9.msdn.com/Series/ ...

  5. 基于visual Studio2013解决算法导论之011快排改良

     题目 快排改良 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...

  6. 调用ShellExecute所须要头文件

    调用ShellExecute所须要头文件 #include   "windows.h " #include   "shellapi.h "

  7. Java学习——何为JNDI

    曾记得在做机房收费系统的时候就接触到了API,由于它的功能非常强大,可是自己对它却不怎么了解.所以当时是又爱又怕.现在,一路走来才明确,事实上它就是一组接口.仅仅要我们去了解它就会发现.它事实上也没想 ...

  8. Extjs实现树形结构三连选

    当项目中需要一个部门人员选择或者省市县地域连选时,就需要树形结构的连选. 再此,写了一个简单的树形结构三连选功能,模拟从后台读取数据和处理数据(欢迎大家交流指正). 代码如下: 循环创建三棵树,其中只 ...

  9. NGUI: Documentation

    Video Tutorials Basic Tutorial (v.2.5.0+) SD & HD atlas switching (advanced) Packed Font (advanc ...

  10. Delete it

    Problem A: Delete it Time Limit: 2 Sec   Memory Limit: 64 MB Submit: 99   Solved: 25 Description 克林在 ...