Objective-C( Foundation框架 一 常见的结构体)
常见的结构体 (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框架 一 常见的结构体)的更多相关文章
- iOS Foundation框架简介 -1.常用结构体的用法和输出
1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...
- object-c 框架之经常使用结构体
Foundation 框架定义经常使用结构体.结构体採用object-c 定义:经常使用NSSRange,NSPoint.NSSize,NSRect等 一.NSRange 创建范围结构体. 方法:NS ...
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- OC中常见的结构体,以及NSNumber、NSValue、NSDate的使用
常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef ...
- Foudation框架之一些常用结构体和常用类
表示范围作用的结构体:NSRange: 有三种方式创建新的NSRange: 1.NSRange range: range.location = 17; ...
- linux驱动开发( 五) 字符设备驱动框架的填充file_operations结构体中的操作函数(read write llseek unlocked_ioctl)
例子就直接使用宋宝华的书上例子. /* * a simple char device driver: globalmem without mutex * * Copyright (C) 2014 Ba ...
- 13.Object-C--浅谈Foundation框架常用的结构体
------- android培训.iOS培训.期待与您交流! ---------- 昨天学习了Foundation框架中常用的结构体,下面我简单的总结一下,如果错误麻烦请留言指正,谢谢! Found ...
- iOS Foundation框架 -1.常用结构体的用法和输出
1.安装Xcode工具后会自带开发中常用的框架,存放的地址路径是: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat ...
- OC 知识:Foundation 框架及相关类详尽总结
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...
随机推荐
- SQL-乐观锁,悲观锁之于并发
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- leetcode 223
题目描述: Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is def ...
- install MCR in silent mode linux server
./install -mode silent -agreeToLicense yes -destinationFolder /home/yanzhh/wq/Programs/MCR export LD ...
- zjuoj 3608 Signal Detection
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3608 Signal Detection Time Limit: 2 Sec ...
- hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...
- innerHTML
对于innerHTML 属性,几乎所有的元素都有innerHTML属性,它是一个字符串,用来设置或获取位于对象起始和结束标签内的HTML.(获取HTML当前标签的起始和结束里面的内容) 下面的例子返回 ...
- mongo基本语句
批量更新 db.test.updateMany({name:'test'},{$set:{value:1}}) 单更新 db.test.update({name:'test'},{$set:{valu ...
- 爬虫6:多页面增量Java爬虫-sina主页
之前写过很多单页面python爬虫,感觉python还是很好用的,这里用java总结一个多页面的爬虫,迭代爬取种子页面的所有链接的页面,全部保存在tmp路径下. 1 序言 实现这个爬虫需要两个数据结构 ...
- UnicodeDecodeError: 'utf8' codec can't decode byte 0xce in position 47: invalid continuation byte
- php之XML转数组函数的方法
<?/** * xml2array() will convert the given XML text to an array in the XML structure. * Link: htt ...