一,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. 《剑指offer》第三十题(包含min函数的栈)

    // 面试题30:包含min函数的栈 // 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min // 函数.在该栈中,调用min.push及pop的时间复杂度都是O(1). #i ...

  2. Java基础十--接口

    Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...

  3. Failed to execute operation: No such file or directory(systemctl enable iptables.service)

    在保存Iptables配置时:systemctl enable iptables.service 出现错误: Failed to execute operation: No such file or ...

  4. Silverlight自定义控件系列 – TreeView (3) 添加展开和收起事件

    由于Writer嫌我文章过长,只能把上篇拆开两半了.以下是接着上篇的. 准备工作做完了,现在就要完成点击事件. 定义Expander和单击事件: 1: /// <summary> 2: / ...

  5. 用Omniauth来Login with Facebook(Go-rails课程)

    https://gorails.com/episodes/login-with-facebook?autoplay=1 大概看了一遍,留了视频的截图. https://gorails.com/epis ...

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

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

  7. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.autumn.book/com.autumn.book.MainActivity}: android.os.NetworkOnMainThreadException

    不能把http请求写在主线程里,改为这样 Runnable runnable = new Runnable() { public void run() { HttpClient.post2(" ...

  8. 我的Java学习笔记-语法

    Java的语法与C#的语法基本都一样,毕竟都是面向对象编程语言.下面记录下Java独有的和我在C#中学习不熟的语法知识 一.Java是解释型语言 二.Java修饰符 1. 访问控制修饰符 defaul ...

  9. Python练习题--持续更新

    1.你是一个高级测试工程师,现在要做性能测试,需要你写一个函数,批量生成一些注册使用的账号. 产生的账号是以@163.com结尾,长度由用户输入,产生多少条也由用户输入,用户名不能重复,用户名必须由大 ...

  10. 常用Java字符API