博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS - Swift Range 范围
阅读量:7062 次
发布时间:2019-06-28

本文共 1971 字,大约阅读时间需要 6 分钟。

前言

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

    public struct Range
    : 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
    ) @warn_unused_result public func toRange() -> Range
    ? }

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)

转载于:https://www.cnblogs.com/QianChia/p/5777398.html

你可能感兴趣的文章
[USACO 1.2.1]挤牛奶 (快排)
查看>>
信息系统规划(Information System Planning, ISP)
查看>>
xubuntu sublime 输入中文
查看>>
BICEP单元测试计划——四则运算Ⅱ
查看>>
金融的本质是什么?终于有人讲清楚了!(源于网络)
查看>>
Oracle 数据库名、实例名、Oracle_SID
查看>>
MySQL5.7在Windows下的安装
查看>>
Android 几个Info系列类的总结
查看>>
1010 Robot Motion
查看>>
修改CKFinder上传路径
查看>>
SQL server中的parsename详解
查看>>
系统优化 /etc/sysctl.conf
查看>>
CodeChef November Lunchtime 2013 Lucy and the Number Game(简单题)
查看>>
前端面试经典题目(HTML+CSS)二
查看>>
VA中修改函数注释
查看>>
最长对称子串
查看>>
转载文章 RESIZING WIN32 DIALOGS
查看>>
我是一只IT小小鸟
查看>>
使用反射循环获取对象的属性和值
查看>>
maven配置setting.xml文件详解2
查看>>