ios – 将无名元组的字符串表示转换为元组

我知道这可能很容易,但我对 Swift很新,需要我能得到的所有帮助.

我有一个字符串,打印时显示,“(”示例1“,”示例2“)”
现在如果我将它赋给变量,我就不能调用元组中的单个元素,因为它显然不是元组.

现在我想知道是否有一种方法可以转换为元组,也许是使用JSONSerialization?

我试过了
让array =试试! JSONSerialization.jsonObject(with:data,options:[])as!数组< Any>,并且使用字符串“[”示例1“,”示例2“]”,但不是元组,我尝试更改选项中的[]:to(),但这不起作用.

解决方法

根据我的理解你想要从字符串中创建一个元组,字符串看起来有点像元组.所以你需要做的是提取这个字符串中的值并创建一个元组.

如果您始终确定格式相同,这里是简单的解决方

func extractTuple(_ string: String) -> (String,String) {
     //removes " and ( and ) from the string to create "Example 1,Example 2"
    let pureValue = string.replacingOccurrences(of: "\"",with: "",options: .caseInsensitive,range: nil).replacingOccurrences(of: "(",range: nil).replacingOccurrences(of: ")",range: nil)

    let array = pureValue.components(separatedBy: ",")
    return (array[0],array[1])
}

然后你可以像这样使用它

let string = "(\"Example 1\",\"Example 2\")"
let result = extractTuple(string)
print(result)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...