objective-c 中数据类型之中的一个 几何数据类型(CGPoint,CGSize,CGRect)
// 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)的更多相关文章
- 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM
题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...
- 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本 ...
- Verilog缺少一个复合数据类型,如C语言中的结构体
https://mp.weixin.qq.com/s/_9UsgUQv-MfLe8nS938cfQ Verilog中的数据类型(Data Type)是分散的,缺少一个复合数据类型:把多个wire, r ...
- JAVA基础篇NO2--Java中的基本命名规则及数据类型
1.Java中的常量及进制 1.常量: 在程序运行的过程中,不可以改变的量,就是常量 boolean类型的值只能是true或者false null: 空常量, 代表不存在! ------------- ...
- 【iOS与EV3混合机器人编程系列之四】iOS_WiFi_EV3_Library 剖析之中的一个:WiFi UDP和TCP
在上一篇文章中.我们通过编写EV3 Port Viewer项目实现了iOS监測EV3的实时端口数据. 程序最核心的部分就是我们的开源码库iOS_WiFi_EV3_Library. 那么,在本文中,我们 ...
- The Pragmatic Programmer 读书笔记之中的一个 DRY-Don’t Repeat Youself
The Pragmatic Programmer读书笔记之中的一个 DRY-Don't Repeat Youself 尽管自己买了非常多软件project方面的书,可是由于时间的问题.一直没有静 ...
- 【iOS与EV3混合机器人编程系列之中的一个】iOS要干嘛?EV3能够更酷!
乐高Mindstorm EV3智能机器人(下面简称EV3)自从在2013年的CES(Consumer Electronics Show美国消费电子展)上展出之后,就吸引了全球广大机器人爱好者的眼球!E ...
- 一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK
一.-100.01 的double 在内存中怎么存储的 double双精度数据类型存储格式IEEE 双精度格式为8字节64位,由三个字段组成:52 位小数 f : 11 位偏置指数 e :以及 1 位 ...
- 理解Objective C 中id
什么是id,与void *的区别 id在Objective C中是一个类型,一个complier所认可的Objective C类型,跟void *是不一样的,比如一个 id userName, 和vo ...
随机推荐
- net use \\192.168.54.145 /user:administrator "12345qwert"无法连接,错误码1326
1.在远程机的"控制面板-文件夹选项-查看-简单的文件共享",去掉选取,然后再尝试连接 2.控制面板\所有控制面板项\管理工具 下-->本地安全策略-->安全设置--& ...
- 数据库神器:Navicat Premium
Navicat premium是一款数据库管理工具.将此工具连接数据库,你可以从中看到各种数据库的详细信息.包括报错,等等.当然,你也可以通过他,登陆数据库,进行各种操作.Navicat Premiu ...
- 总结:js中4类修改样式的方法
前言 最近在写一个扩展右键菜单的插件,既然是插件,想着一步到位,把相关的style样式设置都丢进js文件中,直接加载一个js文件便可以使用该插件,所以今天就研究了下js批量的插入样式的方法,即addS ...
- 信号与槽(可以与第三方库混用,首次见到QObject::destroyed的使用)
信号与槽用于对象之间的通信.信号与槽机制是Qt的核心特性和区别于其他框架的特性. Introduction 在GUI程序中,当我们改变一个widget,经常需要其他的widget得到通知.更普遍的是, ...
- jsp页面中格式化为小数点两位
<td align="center"> <% String avgnum = ""; if(request.getAttribute(&qu ...
- Android常用秘籍总结
一.无法向模拟器push文件,显示read-only file system $adb shell mount -o remount rw/ 确保模拟器有sd卡 二.Android模拟按键 #adb ...
- 使用ffmpeg视频编码过程中踩的一个坑
今天说说使用ffmpeg在写视频编码程序中踩的一个坑,这个坑让我花了好多时间,回头想想,非常多时候一旦思维定势真的挺难突破的.以下是不对的编码结果: ...
- Swift UI开发初探
今天凌晨Apple刚刚发布了Swift编程语言,Swift是供iOS和OS X应用编程的新编程语言.相信很多开发者都在学习这门新语言. 废话不多说,下面我就来学习使用Swift创建一个简单的UI应用程 ...
- c语言, objective code(new 1)
c struct, objective code //////// //// typedef int (*PF_EAT) (char* food, const int cnt); typedef in ...
- Spring mvc之提交表单
表单内容: <body> <form action="user/login"> <table> <tr> <td>用户名 ...