Swift 如何从string.data获取nil(使用:.utf8)

Swift 如何从string.data获取nil(使用:.utf8),swift,string,xcode,utf-8,swift5,Swift,String,Xcode,Utf 8,Swift5,是否有任何字符串无法构造“.data”(使用:.utf8)并返回nil?根据这一点,string.data(使用:.utf8)与data(string.utf8)相同,但不能失败(无论如何,现在,这是一个实现细节) 因此,没有字符串可用于使数据(from:.utf8)返回nil data(from:)声明为返回可选的,因为您可以传入其他编码,这些编码可能不支持字符串中的字符。毕竟,该方法不能仅仅因为您传入了.utf8,就突然将其返回类型更改为非可选 根据这一点,string.data(使用:.u

是否有任何字符串无法构造“.data”(使用:.utf8)并返回nil?

根据这一点,
string.data(使用:.utf8)
data(string.utf8)
相同,但不能失败(无论如何,现在,这是一个实现细节)

因此,没有字符串可用于使
数据(from:.utf8)
返回nil

data(from:)
声明为返回可选的,因为您可以传入其他编码,这些编码可能不支持字符串中的字符。毕竟,该方法不能仅仅因为您传入了
.utf8
,就突然将其返回类型更改为非可选

根据这一点,
string.data(使用:.utf8)
data(string.utf8)
是相同的,不能失败(至少现在是这样。这是一个实现细节)

因此,没有字符串可用于使
数据(from:.utf8)
返回nil


data(from:)
声明为返回可选的,因为您可以传入其他编码,这些编码可能不支持字符串中的字符。毕竟,该方法不能仅仅因为您传入了
.utf8
,就突然将其返回类型更改为非可选

我看到了。在新的swift版本中,它不再工作。@michalmichalek您可以安全地强制展开结果。所有苹果公司的JSON解码示例都会强制展开此方法的结果。@michalk我看到了。在新的swift版本中,它不再工作。@michalmichalek您可以安全地强制展开结果。所有苹果公司的JSON解码样本都会强制展开此方法的结果。@michalek