我是新手,我找不到有关如何做到这一点的初学者友好解释。
我想从两个不同的控制器(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))
}
}
我想从
访问答案 0 :(得分:1)
您需要做的就是将代码复制粘贴到项目中的文件(可能名为StringExtensions.swift
)中。 StringProtocol
是一个公共协议,您正在对其进行扩展以增强普通字符串的功能。然后,您可以在项目内的任何字符串上使用它,并且它不仅限于控制器。