iOS - OC NSRange 范围
前言
结构体,这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。
typedef struct _NSRange {
NSUInteger location; // 表示该范围的起始位置
NSUInteger length; // 表示该范围内所含的元素个数
} NSRange; typedef unsigned long NSUInteger;
1、NSRange 结构体变量的创建与调用
// NSRange 结构体变量的创建与赋值
// 先定义变量,再赋值
NSRange range1;
range1.location = 6;
range1.length = 1;
// 定义时直接赋值
NSRange range2 = {7, 2};
// 给指定成员赋值
NSRange range3 = {.length = 3, .location = 8};
// 使用函数赋值
NSRange range4 = NSMakeRange(9, 4);
// NSRange 结构体变量值的调用
NSLog(@"range1: %zi, %zi", range1.location, range1.length);
NSLog(@"range2: %zi, %zi", range2.location, range2.length);
NSLog(@"range3: %zi, %zi", range3.location, range3.length);
NSLog(@"range4; %zi, %zi", range4.location, range4.length);
2、NSRange 与 NSString 的相互转换
// NSRange 转 NSString
NSString *stringFronRange = NSStringFromRange(range4);
// NSString 转 NSRange
NSRange range5 = NSRangeFromString(stringFronRange);
iOS - OC NSRange 范围的更多相关文章
- iOS - OC 面向对象语法
1.类 1)根类:因为类 NSObject 是层次结构的最顶层,因此称为根类. 可以将类称为子类(subclass)和父类(superclass),也可以将类称为子类和超类. 2)分类/类别(cate ...
- ios+oc面试题
ios+oc面试题 浅复制和深复制的区别?//浅拷贝和深拷贝答案:浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身.//通过对象的指针来访问这个对象深层复制(mutableCo ...
- iOS OC语言原生开发的IM模块--RChat
iOS OC语言原生开发的IM模块,用于项目中需要原生开发IM的情况,具备发送文字.表情.语音.图片.视频等完整功能,包含图片预览视频播放等功能,此项目将会长期更新如有问题可以提出,我的邮箱:fshm ...
- iOS - OC RunTime 运行时
1.运行时的使用 向分类中添加属性 // 包含运行时头文件 #import <objc/runtime.h> /* void objc_setAssociatedObject(id obj ...
- iOS - OC Category 分类
1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之 ...
- iOS - OC 语言新特性
前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力.在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 O ...
- iOS - OC NSKeyedArchiver 数据归档
前言 @interface NSKeyedArchiver : NSCoder @interface NSKeyedUnarchiver : NSCoder 在 OC 语言中,归档是一个过程,即用某种 ...
- iOS - OC NSCalendar 日历
前言 @interface NSCalendar : NSObject <NSCopying, NSSecureCoding> NSCalendar 对世界上现存的常用的历法进行了封装,既 ...
- iOS - OC NSArray 数组
前言 @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSe ...
随机推荐
- jython学习笔记3
1.os.environ["HOME"] 为什么这句话在我的STS中打印不出东西,还报错 Method Description close() Close file fileno( ...
- return break continue
return 程序返回,不再执行下面的代码(结束当前的方法 直接返回) break 跳出总上一层循环,不再执行循环(结束当前的循环体)continue 跳出本次循环,继续执行下次循环(结束正在执行的循 ...
- html里文本保留换行格式
用<pre></pre>把文本包起来
- hbase 停止regionserver
每个regionserver节点可以自由启动或停止,可以不随hbase整体一起. 停止后regionserver上的数据会被移到其他regionserver上,不影响hbase的使用. 停止reg ...
- easyui datebox 只选择年月
//将日期输入框变为年月的函数方法 var month=0; $('#effectiveDate').datebox({ onShowPanel: function () ...
- 使用存储过程来动态调用数据(SELECT)
USE [MyTestDb] GO /****** Object: StoredProcedure [dbo].[PROC_GetChannelList] Script Date: 04/09/201 ...
- MD5签名方法
/** * md5签名 * @param plainText 要签名的字符串 * @param enc 要编译的格式 gbk:utf-8 * @return */ public static Stri ...
- mongodb(4查询)
第一个参数决定要返回那些文档 db.test.find()返回所有文档 db.test.find({"age":27}) db.test.find({"username& ...
- Java线程池与java.util.concurrent
Java(Android)线程池 介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端执行 ...
- nn
<li> <a href="#" class="dropdown-toggle"> <i class="icon-des ...