iOS开发(Swift)总结25 - 扩展

第2部分 故事的进阶要素 - 编程语言Swift的进阶部分

13 扩展
13.1 概念通俗讲解
扩展的作用是为已存在的类、结构体、枚举或者协议类型添加新的功能。
例如,String是一个结构体,我们可以为它实现一个新的方法,用来截取字符串。

13.2 定义简洁介绍
扩展是用extension关键字来定义。

extension 类名{
}

这里的类名也可以是结构体名,枚举名,协议名。
举例
通过扩展为String结构体实现一个新的方法,用来截取字符串。

extension String{
    //为String实现了一个新的方法,截取字符串中的一段字符。
    func subString(with r: Range<Int>) -> String {
        let start = self.index(startIndex, offsetBy: r.lowerBound)
        let end = self.index(startIndex, offsetBy: r.upperBound)
        return String(self[start..<end])
    }
}

使用

var talking = "今天是2018年10月1日"

扩展了String的新方法subString就可以直接使用了,下面的代码是截取 “2018” 的字符串出来。

var subTalking = talking.subString(with: 3..<7)

这里r.lowerBound和r.upperBound是系统的结构体Range的方法,可以直接使用。

注:本人水平和能力有限,如果哪些地方写错了,请大家给我反馈,我会及时修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值