Foundation-结构体

简介:
#import <Foundation/Foundation.h>  void test(){     //定义一种结构体     struct Date{         int Year;         int Month;         int Day;     };     struct Date d={2013,5,4};     d.Day=5; }  void test1(){     //宏定义     typedef struct Date{         int Year;         int Month;         int Day;     } MyDate;      MyDate day={2013,1,1};      }   void NSRangeTest(){     //NSRange是一个结构体,里面有两个成员,一个位置还有一个表示长度     NSRange range={3,1};     NSRange range1=NSMakeRange(6, 3);     NSLog(@"location:%zi",range1.location);  //NSRange参数类型是NSUInteger 就是Unsigned long类型 访问的话为@zi      NSLog(@"length:%zi",range1.length);      //还有一种NSString打印方法     NSString *str=NSStringFromRange(range);     NSLog(@"range:%@",str); }  void pointTest(){     NSPoint point={10,10};     point=NSMakePoint(11, 11);     point=CGPointMake(12, 12);//最常用     CGPoint point1;  //NSPoint和CGPoint是等价的     point1.x=11;     point1.y=12;     NSString *str=NSStringFromPoint(point);     NSLog(@"%@",str);     NSString *str1=NSStringFromPoint(point1);     NSLog(@"point:%@",str1); }  void sizeTest(){     //创建一个宽度为10,高度是8的size     NSSize size=CGSizeMake(10, 8);     size=NSMakeSize(11, 9);     size.width=12;     size.height=10;     NSString *str=NSStringFromSize(size);     NSLog(@"size:%@",str); }  void rectTest(){     //创建一个左边为多少的长方体     CGRect rect1=CGRectMake(1, 1, 10, 10);     NSRect rect=CGRectMake(10, 10, 12, 9);     rect.origin.x=11;     rect.origin.y=11;     rect.size.width=100;     rect.size.height=90;     NSString *str=NSStringFromRect(rect);     NSLog(@"rect:%@",str);     NSString *str1=NSStringFromRect(rect1);     NSLog(@"rect:%@",str1); } int main(int argc, const char * argv[]) {      @autoreleasepool {         NSRangeTest();         pointTest();         sizeTest();         rectTest();     }     return 0; }

结果:

2013-08-02 15:39:55.662 Foundation1-结构体[1267:303] location:6

2013-08-02 15:39:55.678 Foundation1-结构体[1267:303] length:3

2013-08-02 15:39:55.679 Foundation1-结构体[1267:303] range:{3, 1}

2013-08-02 15:39:55.679 Foundation1-结构体[1267:303] {12, 12}

2013-08-02 15:39:55.679 Foundation1-结构体[1267:303] point:{11, 12}

2013-08-02 15:39:55.680 Foundation1-结构体[1267:303] size:{12, 10}

2013-08-02 15:39:55.680 Foundation1-结构体[1267:303] rect:{{11, 11}, {100, 90}}

2013-08-02 15:39:55.680 Foundation1-结构体[1267:303] rect:{{1, 1}, {10, 10}}






















本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366477,如需转载请自行联系原作者

相关文章
|
安全 Shell 网络安全
渗透测试中常用术语
渗透测试中常用术语解释
446 1
|
12月前
|
数据采集 人工智能 移动开发
盘点人工智能在医疗诊断领域的应用
人工智能在医疗诊断领域的应用广泛,包括医学影像诊断、疾病预测与风险评估、病理诊断、药物研发、医疗机器人、远程医疗诊断和智能辅助诊断系统等。这些应用提高了诊断的准确性和效率,改善了患者的治疗效果和生活质量。然而,数据质量和安全性、AI系统的透明度等问题仍需关注和解决。
1423 10
|
存储 对象存储
radosgw高可用对象存储网关实战指南
关于radosgw高可用对象存储网关的实战指南,涵盖了从基本概念到具体操作案例,再到架构设计和使用技巧的全面介绍。
382 6
|
Linux 开发者 iOS开发
|
Kubernetes 调度 Perl
10分钟搞懂K8S的亲和与反亲和调度
首先来个一句话总结:亲和性调度就像关系亲密的闺蜜,你去哪儿我也去哪儿。反亲和性调度就像赌气的两个孩子,赌气永远不在一起玩儿。更多解释和实战详见下文。花10分钟看到最后,你肯定会有收获。
10分钟搞懂K8S的亲和与反亲和调度
|
XML JSON 前端开发
Springboot+MyBatisPlus+Mysql+vue实现支付宝支付
Springboot+MyBatisPlus+Mysql+vue实现支付宝支付
|
安全 测试技术 BI
最齐全不接受反驳、常用BUG管理工具系统
最齐全不接受反驳、常用BUG管理工具系统
1122 0
最齐全不接受反驳、常用BUG管理工具系统
|
并行计算 算法 计算机视觉
优化加速的导向滤波(Guided Filter)【CUDA】【OpenCV】
优化加速的导向滤波(Guided Filter)【CUDA】【OpenCV】
752 0
优化加速的导向滤波(Guided Filter)【CUDA】【OpenCV】
|
Python
Python自动化实现web页面UI差异对比
以自动化或工具的方式实现页面UI与标准UI图对比并输出可视结果
1543 0
Python自动化实现web页面UI差异对比