比如常见需求:将字符串等分100份 / 将字符串拆分为字符串数组打乱顺序后加密存储
/// 字符串拆分为字符串数组
///
/// - Parameters:
/// - str: 被拆分字符串
/// - count: 拆分为多少段
private func stringSplitArr(string: String, count: Int) -> [String] {
let originalString = string
let subStringLength = originalString.count / count
var startIndex = originalString.startIndex
var endIndex = originalString.index(startIndex, offsetBy: subStringLength)
var subStrings = [String]()
for i in 1...count {
let subString = String(originalString[startIndex..<endIndex])
subStrings.append(subString)
startIndex = endIndex
if i + 1 == count { // 最后一次截取剩余所有
endIndex = originalString.endIndex
} else {
endIndex = originalString.index(endIndex, offsetBy: subStringLength, limitedBy: originalString.endIndex) ?? originalString.endIndex
}
}
return subStrings
}