gpt4 book ai didi

ios - 快速修改自身的字符串扩展

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:30 27 4
gpt4 key购买 nike

我已经用 swift 写了我的拳头扩展。
这是代码:

extension String
{
// add padding
// source: http://zh-wang.github.io/blog/2014/09/25/learning-swift-part-6/
func alignRight(count: Int, pad: Character) -> String
{
let amountToPad = count - countElements(self)
if amountToPad < 1 {
return self
}
let padString = String(pad)
var string = self
for _ in 1...amountToPad {
string = padString + string
}
return string
}
}

这很好用,我是这样使用的:

let a = "ddd"
let b = a.alignRight(5, pad: "0") // b is 00ddd

我想知道是否可以这样做

var a = "ddd"
a.alignRight(5, pad: "0") // a is 00ddd

所以我想做一个改变字符串的扩展,而不是做一个新的。
我有一个问题,因为我不能在我的扩展中做 self = "something"

这是正常现象还是我遗漏了什么?

最佳答案

您应该使用 mutating 关键字。

mutating func alignRight(count: Int, pad: Character) {
// self = something works
}

参见 extensions' documentation获取更多信息。

关于ios - 快速修改自身的字符串扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com