如何在Swift 4中访问扩展程序

时间:2019-02-08 06:41:30

标签: swift

我是新手,我找不到有关如何做到这一点的初学者友好解释。

我想从两个不同的控制器(UIViewController和UITableViewControllers)访问以下扩展代码。

问题: 1.如何从ViewControllers访问扩展代码? 2.如何将扩展代码存储为文件?什么是常见模式?

我使用的扩展名允许我简单地分割字符串。

let str = "abc"
print(str[0]) // a

下面是扩展代码

extension StringProtocol {
  subscript(offset: Int) -> Element {
        return self[index(startIndex, offsetBy: offset)]
    }

    subscript(_ range: CountableRange<Int>) -> SubSequence {
        return prefix(range.lowerBound + range.count)
            .suffix(range.count)
    }
    subscript(range: CountableClosedRange<Int>) -> SubSequence {
        return prefix(range.lowerBound + range.count)
            .suffix(range.count)
    }

    subscript(range: PartialRangeThrough<Int>) -> SubSequence {
        return prefix(range.upperBound.advanced(by: 1))
    }
    subscript(range: PartialRangeUpTo<Int>) -> SubSequence {
        return prefix(range.upperBound)
    }
    subscript(range: PartialRangeFrom<Int>) -> SubSequence {
        return suffix(Swift.max(0, count - range.lowerBound))
    }
}

我想从

访问

1 个答案:

答案 0 :(得分:1)

您需要做的就是将代码复制粘贴到项目中的文件(可能名为StringExtensions.swift)中。 StringProtocol是一个公共协议,您正在对其进行扩展以增强普通字符串的功能。然后,您可以在项目内的任何字符串上使用它,并且它不仅限于控制器。