Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Swift中,有没有办法在句子中随机大写字母?_Ios_Swift_Xcode_String - Fatal编程技术网

Ios 在Swift中,有没有办法在句子中随机大写字母?

Ios 在Swift中,有没有办法在句子中随机大写字母?,ios,swift,xcode,string,Ios,Swift,Xcode,String,我只是想要一种随机将句子中的字母大写的方法。可能吗?试试这个 var string: String = "your string" var chars: [Any] = [] var letterIndexes: [Any] = [] for i in 0..<string.characters.count { var ch: unichar = string[i] // add each char as a string to a chars collection

我只是想要一种随机将句子中的字母大写的方法。可能吗?

试试这个

var string: String = "your string"
var chars: [Any] = []
var letterIndexes: [Any] = []
for i in 0..<string.characters.count {
    var ch: unichar = string[i]
    // add each char as a string to a chars collection
    chars.append("\(ch)")
    // record the index of letters
    if CharacterSet.letters.characterIsMember(ch) {
        letterIndexes.append((i))
    }
}

参考。

您是否参考了此SO链接?非常感谢,但我无法阅读objective-c代码(我是初学者),因此我正在为swift添加代码。
var charsToUppercase: Int = 12
var i = 0
while i < charsToUppercase && letterIndexes.count {
    var randomLetterIndex: Int? = arc4random_uniform(((letterIndexes.count) as? u_int32_t))
    var indexToUpdate = CInt(letterIndexes[randomLetterIndex])
    letterIndexes.remove(at: randomLetterIndex)
    chars[indexToUpdate] = chars[indexToUpdate].uppercased()
    i += 1
}
var result: String = (chars as NSArray).componentsJoined(byString: "")
print("\(result)")