一,NSRange

typedef struct _NSRange

{

NSUInteger location;

NSUInteger length;

}NSRange;

这个结构体用来表示事物的一个范围,通常字符串里的字符范围或者几何里的范围.

location表示该范围的起始位置

length表示该范围内所有的元素个数

比如"I love objective-c"中的"obj"可以用location为7,length为3的范围表示.

创建NSRange有三种方式

第一种,直接给成员赋值

NSRange range;

range.location=7;

range.length=3;

第二种是应用c语言的聚合结构赋值机制

NSRange range={7,3};或者NSRange range={.location=7,.length=3};

第三种,Foundation框架提供的

NSRange range=NSMakeRange(7,3);

使用方式如:

     NSRange range=NSMakeRange(3, 7);//第一种方式
         NSString *rangStr=NSStringFromRange(range);//第二种方式
         NSLog(@"%@",rangStr);
         NSLog(@"%li,%li",range.location,range.length);

二,NSPoint结构体--CGPoint结构体

NSPoint point=NSMakePoint(1,2);//Foundation提供的方法
        NSLog(@"%@",NSStringFromPoint(point));//转化为string对象类型
        NSPoint p2;//第二种方式
        p2.x=3;
        p2.y=4;
        NSLog(@"%@",NSStringFromPoint(p2));
三,NSSize结构体--CGSize结构体

NSSize size=NSMakeSize(34, 344);//Foundation提供的方法
        NSLog(@"%@",NSStringFromSize(size));//转化为string对象类型
        CGSize p2;//第二种方式
        p2.height=3;
        p2.width=4;
        NSLog(@"%@",NSStringFromSize(p2));

四,NSRect结构体

NSRect rect=NSMakeRect(1, 2, 3, 4);
        NSLog (@"%@",NSStringFromRect(rect));
        NSRect p2;
        p2.origin.x=3;
        p2.origin.y=4;
        p2.size.width=5;
        p2.size.height=6;
        NSLog(@"%@",NSStringFromRect(p2));

Foundation--结构体的更多相关文章

  1. Objective-C( Foundation框架 一 常见的结构体)

    常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...

  2. foundation框架—结构体

    Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...

  3. Objective-C:Foundation框架-结构体

    在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发. ...

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

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

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

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

  6. 李洪强iOS开发之Foundation框架—结构体

    Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...

  7. 从头开始-07.Foundation框架常用结构体

    一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRa ...

  8. 「Foundation」结构体

    一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...

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

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

  10. Foundation框架 - 结构体

    一.基础知识 如果要想使用 Foundation 框架的数据类型,那么包含它的主头文件就可以了.即 #import <Foundation/Foundation.h> 补充: Core F ...

随机推荐

  1. hdu 2795 Billboard 线段树+二分

    Billboard Time Limit: 20000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Probl ...

  2. go 语言字典元素删除

    package main import "fmt" func main() { /* 创建map */ countryCapitalMap := map[string]string ...

  3. 附加题找bug

    private: void ReSize(int sz) { ) { return; } if(maxSize != sz) { T *arr = new T[sz]; if(arr == NULL) ...

  4. 从996到ICU——我们终将被自我厌恶

    自从996.icu在github上收获了18万点赞以来,超时工作,超负荷劳动似乎成了天下所有“无产阶级者”的共同点.对于这样的剥削制度,我想再多的批评和抨击都不为过.但是今天我想说3个小故事,只为引起 ...

  5. Python mysql-表中数据的大量插入

    2017-09-06 23:28:26 import pymysql db = pymysql.connect("localhost","root"," ...

  6. Confluence 6 LDAP 连接池配置参数

    初始连接池大小(Initial Pool Size) 当初始化 LDAP 连接池的时候初始化创建的 LDAP 连接数量. 1 期望的连接池大小(Preferred Pool Size) 优化连接池的大 ...

  7. SAS/SATA/SSD/IDE硬盘介绍区别

    SAS/SATA/SSD/IDE硬盘介绍区别 SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采 ...

  8. OC 方法和函数

    /* 方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间 对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 ...

  9. 循环大法——一次性理清forEach/for-in/for/$each

    国寿的这个项目写得我基础都忘完了 近期会把vue和基础都并行复习.学习 forEach 适用于调用数组的每个元素,并将元素传递给回调函数,但是空数组是不会执行回调函数的.forEach适用于集合中的对 ...

  10. MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL四种外键约束

    外键约束比较多得两种情况: 1.父表更新时子表也更新,父表删除时如果子表有匹配的项,删除失败: ON UPDATE CASCADE ON DELETE RESTRICT 1 2.父表更新时子表也更新, ...