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

本文共 1919 字,大约阅读时间需要 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)

转载地址:http://gdaql.baihongyu.com/

你可能感兴趣的文章
看博客学学Android(六)
查看>>
Transformation functionality for the String class
查看>>
The String class's judging function
查看>>
网页制作-表单元素
查看>>
淡入淡出js
查看>>
初识Android
查看>>
一道算法题
查看>>
安装kibana
查看>>
深度搜索--poj3984 迷宫问题
查看>>
仿微信表情输入
查看>>
作业二 网调问卷制作
查看>>
求二叉树中结点的最大距离 【微软面试100题 第十一题】
查看>>
手动安装ssh
查看>>
83. Remove Duplicates from Sorted List(从有序链表中删除重复节点)
查看>>
原型设计工具
查看>>
Python之进程
查看>>
linux下按键驱动程序
查看>>
excel读取csv的字符集问题
查看>>
论坛迁移日记——discuz X2.5 迁移详细教程
查看>>
vs2010中的ADO控件及绑定控件
查看>>