Swift 将当前日期与编码字符串进行比较
我有不同语言的json响应,我想比较一天;当我选择土耳其语时,它会得到如下响应:Swift 将当前日期与编码字符串进行比较,swift,string,Swift,String,我有不同语言的json响应,我想比较一天;当我选择土耳其语时,它会得到如下响应: sunday = { day = Pazar; timings = ( { endTime = "23:59:00"; id = 100000174; startTime = "11:58:00"; } ); }; wednesday = { day = "\U00
sunday = {
day = Pazar;
timings = (
{
endTime = "23:59:00";
id = 100000174;
startTime = "11:58:00";
}
);
};
wednesday = {
day = "\U00e7ar\U015famba";
timings = (
{
endTime = "22:00:00";
id = 100000177;
startTime = "13:00:00";
}
);
};
I want to compare them the following way:
if(day.lowercased() == “\U00e7ar\U015famba”) {
//get Wednesday day
//this condition work in Sunday Dictionary
}
但它向我显示错误“无效转义序列”和“闭包表达式未使用”。在Swift中,转义序列后面的十六进制值需要用大括号括起来(用小写形式表示): 这就是你犯错误的原因 但是,如果要与不遵循此格式的JSON返回的值进行比较,则需要双转义\U以将它们作为普通字符串进行比较:
if day.lowercased() == "\\U00e7ar\\U015famba" {
...
}
谢谢你。我可以知道你是怎么知道这是十六进制字符串的吗?太好了,很乐意帮忙!unicode转义\u在Swift中始终后跟一个4位十六进制字符串,但您通常也可以判断是否有一组由数字0-9和字母a-F组成的字符。是否尝试对反斜杠进行双转义?
if day.lowercased() == "\\U00e7ar\\U015famba" {
...
}