iOS基础(foundation)-常用结构体
来源:互联网 发布:js点击按钮执行ctrl c 编辑:程序博客网 时间:2024/06/05 03:36
------ 知之博客 期待与您交流! -------
在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发。常用的结构体有NSRange、NSPoint、NSSize、NSRect等
//// main.m// FoundationFramework//// Created by Kenshin Cui on 14-2-16.// Copyright (c) 2014年 Kenshin Cui. All rights reserved.//#import <Foundation/Foundation.h>/*NSRange表示一个范围*/void test1(){ NSRange rg={3,5};//第一参数是起始位置第二个参数是长度 //NSRange rg; //rg.location=3; //rg.length=5; //NSRange rg={.location=3,.length=5}; //常用下面的方式定义 NSRange rg2=NSMakeRange(3,5);//使用NSMakeRange定义一个NSRange //打印NSRange可以使用Foundation中方法 NSLog(@"rg2 is %@", NSStringFromRange(rg2));//注意不能直接NSLog(@"rg2 is %@", rg2),因为rg2不是对象(准确的说%@是指针)而是结构体}/*NSPoint表示一个点*/void test2(){ NSPoint p=NSMakePoint(10, 15);//NSPoint其实就是CGPoint //这种方式比较常见 NSPoint p2=CGPointMake(10, 15); NSLog(NSStringFromPoint(p2));}/*NSSize表示大小*/void test3(){ NSSize s=NSMakeSize(10, 15);//NSSize其实就是CGSize //这种方式比较常见 CGSize s2=CGSizeMake(10, 15); NSLog(NSStringFromSize(s2));}/*NSRect表示一个矩形*/void test4(){ NSRect r=NSMakeRect(10, 5, 100, 200);//NSRect其实就是CGRect //这种方式比较常见 NSRect r2=CGRectMake(10, 5, 100, 200); NSLog(NSStringFromRect(r2));}int main(int argc, const char * argv[]) { @autoreleasepool { test1(); test2(); test3(); test4(); } return 0;}可以看到对于常用结构体在Foundation框架中都有一个对应的make方法进行创建,这也是我们日后比较常用的操作;而且与之对应的还都有一个NSStringFromXX方法来进行字符串转换,方便我们调试。上面也提到NSSize其实就是CGSize,NSRect其实就是CGRect,我们可以通过查看代码进行确认,例如NSSize定义:
继续查看CGSize的代码:
0 0
- iOS基础(foundation)-常用结构体
- Foundation框架基础 常用的结构体
- IOS学习--Foundation常用结构体(代码)
- iOS--Foundation框架-OC常用结构体
- Foundation 常用结构体
- Objective-C基础笔记(7)Foundation中的常用结构体
- OC基础-Foundation——常用结构体 (NSRange 、NSPoint、NSsize、NSRect)
- iOS基础(foundation)-数组
- iOS基础(foundation)-字典
- iOS基础(foundation)-反射
- IOS 基础知识 Foundation--结构体
- Foundation-结构体
- Foundation框架-04 常用结构体(CGPoint、CGSize、CGRect)
- C23_OC13-Foundation内置的常用结构体
- 黑马程序员------foundation常用结构体
- Foundation框架之常用结构体
- 黑马程序员---Foundation之常用结构体
- Foundation框架: 1.常用结构体 - NSRange
- XJTU Summer Holiday Test 1(Divisibility by Eight-8的倍数)
- 最短路径—Dijkstra算法和Floyd算法
- Spark
- 快速使用svn仓库
- cocos2dx三角函数与小球
- iOS基础(foundation)-常用结构体
- 软件测试,想说爱你不容易
- scala的for循环 :枚举的“瑞士军刀”
- ORACLE_SQL语句总结
- 进程中多线程共享变量
- Unfortunately 程序名 has stopped的解决方法
- 荷兰国旗排序问题对应的快速排序方法
- 让Android虚拟手机快速启动
- eclipse开发android入门学习