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));

时间: 2024-08-01 10:00:21

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

数据类型之一几何数据类型(CGPoint,CGSize,CGRect)

// CGPoint 结构体数据原型, 用于声明一个点: 02./* Points. */ 03. 04.struct CGPoint { 05.CGFloat x; 06.CGFloat y; 07.}; 08.typedef struct CGPoint CGPoint; 09. 10.typedef CGPoint NSPoint; 11. 12.// 用法: 13. 14.// 1. 声明一个CGPoint变量,初始化时赋值方式1: 15. 16.CGPoint point = {1, 

黑马程序员------Foundation框架中各种牛瓣数据类型

-----iOS培训.Android培训.Java培训,期待与您交流----- 一.NSRange.NSPoint\CGPoint. NSSize\CGSize.NSRect\CGRect (CGPint CGSize)结构体 1)NSRange NSRange表示一个范围,比如我们想求个@"I fall in love with Objective-C~";  这个字符串中"love"的表示范围就是位置从11开始,长度为4: NSRange的本质是一个结构体, 里

JAVA中分为基本数据类型及引用数据类型

一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0 long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数

Delphi XE8中Delphi和JAVA数据类型对应关系!

Delphi XE8中Delphi和Java数据类型对应关系所在单元文件:Androidapi.JNI.JavaTypes 对应关系: JObject = interface;//java.lang.Object JInputStream = interface;//java.io.InputStream JByteArrayInputStream = interface;//java.io.ByteArrayInputStream JOutputStream = interface;//jav

JavaScript中基本数据类型和引用数据类型的区别

1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值. 2.常见的基本数据类型: Number.String .Boolean.Null和Undefined.基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值.示例: var a = 10; var b = a; b = 20;

java中基本数据类型跟引用数据类型的区别

基本数据类型 大小 范围 默认值 int(整形) 32 -2147483648~2147483648 0 long(长整形) 64 -9233372036854477808~9233372036854477808 0 float(浮点形) 32 -3.40292347E+38~3.40292347E+38 0.0f double(双精度) 64 -1.79769313486231570E+308~1.79769313486231570E+308 0.0d short(短整型) 16 -32768

Asp.net 修改已有数据的DataTable中某列的数据类型

DataTable dt_PI = new DataTable(); //克隆表结构 dt_PI = ds.Tables[0].Clone(); dt_PI.Columns["FLTFullPercentage"].DataType = typeof(String);//修改[满柜百分比]列的数据类型 foreach (DataRow row in ds.Tables[0].Rows) { DataRow rowNew = dt_PI.NewRow(); foreach (DataCo

Sqlite3中存储类型和数据类型结合文档解析。

sqlite3是个很小的数据库,运行在手机,机顶盒上....那它就不可能像musql,sqlserver那么规范,有很多的数据类型,之前我也以为它定义了很多数据类型,其实不是他就5个存储类,那么多数据类型是根据一整套严谨的规则映射的!!还有什么char,varchar其实都是没有的..下面将结合文档详细讲解,相信看完你会了解更多,其实主要就是翻译文档.... sqlite官网:http://www.sqlite.org/ Sqlite3数据类型 大多数的数据库引擎(到现在据我们所知的除了sqli

SQL Server中开发常用的数据类型

我们在日常开发过程中,在进行数据库设计的时候,经常会遇到如果选择数据类型的问题,选择什么样的数据类型最合适,然后当我们在项目中建立对应实体的时候,如何选择对应的CLR类型.针对这些问题,于是这篇文章诞生了. SQL Server数据类型 占用字节数 表示范围 对应的CLR类型 适用场景 char char(n)   System.String 使用char(2)来表示类型或状态(建议用tinyint代替) varchar varchar(n) 1~8000 System.String 只包含英文