前言

  • Range:结构体,这个结构体用来表示一个区间的范围。

    	public struct Range<Element : ForwardIndexType> : Equatable, CollectionType, CustomStringConvertible, CustomDebugStringConvertible
  • NSRange:结构体,这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。

    	public typealias NSRange = _NSRange
    
    	public struct _NSRange {
    public var location: Int
    public var length: Int
    public init()
    public init(location: Int, length: Int)
    } extension NSRange {
    public init(_ x: Range<Int>)
    @warn_unused_result
    public func toRange() -> Range<Int>?
    }

1、Range 结构体变量的创建与调用

	// Range 结构体变量的创建与赋值

		let str = "hello world"

		// 1..<9
let range1:Range = Range(1...8) // 2..<5
var range2:Range = Range(2..<5) // 3..<7
let range3:Range = str.startIndex.advancedBy(3)...str.startIndex.advancedBy(6) // Range 值的修改 range2.startIndex = 3
range2.endIndex = 6 // Range 值的判断 let bl:Bool = range2.isEmpty

2、NSRange 结构体变量的创建与调用

	// NSRange 结构体变量的创建与赋值

		// 先定义变量,再赋值
var nsRange1:NSRange = NSRange()
nsRange1.location = 6;
nsRange1.length = 1; // 定义时直接赋值
let nsRange2:NSRange = NSRange(location: 7, length: 2) // 由区间值创建
let nsRange3:NSRange = NSRange(2...9) // 由方法创建
let nsRange4:NSRange = NSMakeRange(1, 8) // NSRange 结构体变量值的调用 print("\(nsRange1.location), \(nsRange1.length)")

3、NSRange 与 Range 的相互转换

	// Range 转 NSRange
let nsRange:NSRange = NSRange(1...10) // NSRange 转 Range
let range:Range? = nsRange.toRange()

4、NSRange 与 String 的相互转换

	let nsRange1 = NSRange(location: 7, length: 2)

	// NSRange 转 String
let string:String = NSStringFromRange(nsRange1) // String 转 NSRange
let nsRange:NSRange = NSRangeFromString(string)

iOS - Swift Range 范围的更多相关文章

  1. iOS swift的xcworkspace多项目管理(架构思想)

    iOS  swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...

  2. iOS Swift 模块练习/swift基础学习

    SWIFT项目练习     SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图  +控件 1.UIImag ...

  3. ios swift 实现饼状图进度条,swift环形进度条

    ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...

  4. Building gRPC Client iOS Swift Note Taking App

    gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...

  5. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  6. iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK

    iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言:    今天给大家 ...

  7. iOS Swift WisdomHUD 提示界面框架

    iOS Swift WisdomHUD 提示界面框架  Framework Use profile(应用简介) 一:WisdomHUD简介 今天给大家介绍一款iOS的界面显示器:WisdomHUD,W ...

  8. iOS Swift WisdomKeyboardKing 键盘智能管家SDK

    iOS Swift WisdomKeyboardKing 键盘智能管家SDK [1]前言:    今天给大家推荐个好用的开源框架:WisdomKeyboardKing,方面iOS日常开发,优点和功能请 ...

  9. iOS swift项目IM实现,从长连接到数据流解析分析之Socket

    iOS  swift项目IM实现,从长连接到底层数据解析分析之Socket 一:项目简介:  去年开始接手了一个国企移动项目,项目的需求是实现IM即时通讯功能. * 一期版本功能包括了:       ...

随机推荐

  1. Centos7下用命令下载jdk7及jboss-eap-6

    计划在南非的一台云主机上搭建一个web环境,首先需要在云主机上搭建我们指定版本的JDK和JBOSS. 在云上搭特定版本的环境,软件包传输是一件十分艰巨的任务.我先后尝试了:公司电信专线.公司联通专线. ...

  2. Oracle之虚拟索引

    一.引言 DBA在日常维护管理数据库进行低性能SQL分析时,有时候需要通过创建索引对SQL进行优化,但有些时候我们创建的索引是否能用到?这个只能创建以后才能看出效果,但是在实际工作中,特别是对大表创建 ...

  3. 怎么使用PHP获取用户客户端真实IP的解决方案呢?

    function getIp(){if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIE ...

  4. yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并原数组信息---案例

    yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并元数组信息---案例 public function actionRandomLists(){ //查询到了所 ...

  5. DAO模型设计实现数据的 增,删,改,查方法

    连接数据库方法,及反射获取数据,以前的方法相同,测试类 是在DAO模型下建立的 ------------------------------------------------------------ ...

  6. 山东理工大学第七届ACM校赛-经济节约 分类: 比赛 2015-06-26 10:34 19人阅读 评论(0) 收藏

    经济节约 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的 ...

  7. fg、bg、jobs、&、ctrl + z

    原文地址:fg.bg.jobs.&.ctrl + z 作者:china-yuan http://blog.chinaunix.net/uid-22433093-id-1774026.html ...

  8. CountDownLatch、CyclicBarrier和Semaphore

    转载:http://www.cnblogs.com/dolphin0520/p/3920397.html 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDown ...

  9. Java开发、网络爬虫、自然语言处理、数据挖掘简介

    一.java开发 (1) 应用开发,即Java SE开发,不属于java的优势所在,所以市场占有率很低,前途也不被看好. (2) web开发,即Java Web开发,主要是基于自有或第三方成熟框架的系 ...

  10. 4-JS对象

    js中哪些是对象 除了字符串.数字.false.true.null和undefined之外,JavaScript中的值都是对象 原型(prototype) 每一个JavaScript对象(null除外 ...