常见的结构体 (NSPoint,CGPoint)、(NSRange,CGRange)、(NSSize,CGSize)

苹果官方推荐使用CG开头的结构体

NSRange是Foundation框架中常见的结构体它的定义如下:

typedef struct _NSRange

{

  // 范围的起始位置

  NSUInteger location;

  // 范围的长度

  NSUInteger length

}

NSUInteger的定义:

typedef unsigned int NSInteger;

typedef unsigned long NSUInteger;

NSRange创建的几种方式

    NSRange range;
range.location = ;
range.length = ; range= (NSRange){, }; NSRange r = NSMakeRange(, );

CGPoint 和 NSPoint :用来表示二维平面的一个点

CGPoint 是NSPoint的一个别名

struct CGPoint {
CGFloat x; 点的x方向
CGFloat y; 点的y方向
}; 用法:
  // 表示二维平面的一个点
CGPoint p1 = NSMakePoint( ,);
NSPoint p2 = CGPointMake(,); CGPoint c1 = { , };

CGSize 和 NSSize:用来表示平面的面积

struct CGSize {
CGFloat width; 宽
CGFloat height; 高
};
    CGSize s1;
s1.width = ;
s1.height = ; // OC中特有的方式
CGSize s2 = CGSizeMake(, );

CGRect  和 NSRect:表示在平面上左上角是某个点的矩形区域

struct CGRect {
var origin: CGPoint // 表示矩形左上角的点
var size: CGSize // 表示矩形的大小
init()
init(origin origin: CGPoint, size size: CGSize)
}
    CGRect r = {{, },{, }};

    // OC特有方式
CGRect r1 = CGRectMake(, , , );
NSRect r2 = NSMakeRect(, , , ); // 打印方式
NSLog(@"r1 = %@", NSStringFromRect(r1));
 

Objective-C( Foundation框架 一 常见的结构体)的更多相关文章

  1. iOS Foundation框架简介 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  2. object-c 框架之经常使用结构体

    Foundation 框架定义经常使用结构体.结构体採用object-c 定义:经常使用NSSRange,NSPoint.NSSize,NSRect等 一.NSRange 创建范围结构体. 方法:NS ...

  3. Objective - c Foundation 框架详解2

    Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...

  4. OC中常见的结构体,以及NSNumber、NSValue、NSDate的使用

    常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef ...

  5. Foudation框架之一些常用结构体和常用类

    表示范围作用的结构体:NSRange:       有三种方式创建新的NSRange: 1.NSRange range:            range.location = 17;         ...

  6. linux驱动开发( 五) 字符设备驱动框架的填充file_operations结构体中的操作函数(read write llseek unlocked_ioctl)

    例子就直接使用宋宝华的书上例子. /* * a simple char device driver: globalmem without mutex * * Copyright (C) 2014 Ba ...

  7. 13.Object-C--浅谈Foundation框架常用的结构体

    ------- android培训.iOS培训.期待与您交流! ---------- 昨天学习了Foundation框架中常用的结构体,下面我简单的总结一下,如果错误麻烦请留言指正,谢谢! Found ...

  8. iOS Foundation框架 -1.常用结构体的用法和输出

    1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...

  9. OC 知识:Foundation 框架及相关类详尽总结

    本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...

随机推荐

  1. [译]JavaScript规范-葵花宝典

    [译]JavaScript规范 译自:https://github.com/airbnb/javascript 类型 原始值: 相当于传值 string number boolean null und ...

  2. @Override的作用

    @Override是伪代码,表示重写(不写也可以,但是有些IDE会报warning),不过写上有如下好处: 1.可以当注释用,方便阅读:2.编译器可以给你验证@Override下面的方法名是否是你父类 ...

  3. curl常用选项详解

    curl常用选项详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 又是下班的时间了,让我们一起来学习一下今天的Linux命令吧~我一半只把自己常用的参数列出来,其他的有但是我们几 ...

  4. C/C++ 结构体 函数传递

    #include <stdio.h> #include <stdlib.h> struct student{ int num; ]; double dec; }; void s ...

  5. javascript jsscript .js xml html json soap

    javascript ecma标准的脚本语言用于 jsscript 微软标准的一种脚本语言 .js javascript或jsscript保存成文件的形式可用于在html里重复引用 jsscript只 ...

  6. java多态性

    多态分两种: (1)   编译时多态(设计时多态):方法重载. (2)   运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态.(我们平时说得多的事运行时 ...

  7. Preconditions优雅的检验参数

    Preconditions里面的方法: 1 .checkArgument(boolean) : 功能描述:检查boolean是否为真. 用作方法中检查参数 失败时抛出的异常类型: IllegalArg ...

  8. 9.请写出PHP5权限控制修饰符

    1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直 ...

  9. submit

    前台<body>中的代码: <body> <div id="top"> </div> <form id="login ...

  10. PHP中fopen,file_get_contents,curl函数的区别

    PHP中fopen,file_get_contents,curl函数的区别 1.fopen/file_get_contents每次请求都做DNS查询,并不对DNS的信息进行缓存,而curl会对DNS的 ...