我正在使用String(char)创建String但是获取可选值,如何删除它?

时间:2016-08-30 05:59:07

标签: ios swift

我的输出就像“可选(\”A \“),但我只想要字符串”A“。我必须使用这个字符在我的数组上应用过滤器。

let char  = selectedSection.characters.last
let str = String(char)
let array = result?.objectForKey("GetClassPeriodList") as! NSArray
let filtered = array.filter {
    return ($0["Section_Code"] as! String) == str
}
print(filtered)

1 个答案:

答案 0 :(得分:4)

正如@ martin-r所说,last给你一个可选项,因为你无法确定当你要求收集的最后一个字符时,你实际上最终会得到一个字符,如果收集的是例如空?

你可以做的是用if let打开它,所以你可以写:

if let char  = selectedSection.characters.last {
    let str = String(char)
    let array = result?.objectForKey("GetClassPeriodList") as! NSArray
    let filtered = array.filter {
        return ($0["Section_Code"] as! String) == str
    }
    print(filtered)
}

然后您确定您的char包含您可以继续使用的值。

您可以阅读有关选项here

的更多信息

希望对你有所帮助。