Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 具有LiteralConverable的自定义文字方法_Swift - Fatal编程技术网

Swift 具有LiteralConverable的自定义文字方法

Swift 具有LiteralConverable的自定义文字方法,swift,Swift,我正在阅读有关LiteralConvertible协议的内容(以StringLiteralConvertible为例),我发现在swift 1.2中,您可以使用隐式类型转换,将文字转换为自定义的LiteralConvertible类型。以下例子摘自博客: 在可执行空间的某处: 让someStruct:someStruct=“如果最后一行()是没有意义的,w.r.t.类型安全和无歧义。如果最后一行(”@dfri)是奇怪的,但为什么它在swift 1.2中工作?swift 1.2在快速成长(成长)方

我正在阅读有关
LiteralConvertible
协议的内容(以
StringLiteralConvertible
为例),我发现在swift 1.2中,您可以使用隐式类型转换,将文字转换为自定义的
LiteralConvertible
类型。以下例子摘自博客:

在可执行空间的某处:


让someStruct:someStruct=“如果最后一行(
)是没有意义的,w.r.t.类型安全和无歧义。如果最后一行(
”@dfri)是奇怪的,但为什么它在swift 1.2中工作?swift 1.2在快速成长(成长)方面是古老的语言是Swift,所以Swift 1.2中肯定有一些特性,用“现代Swift”的术语来说似乎很奇怪。正如自定义转换方法(
\u conversion()
函数),隐式类型转换是一个不完全符合静态类型和安全语言(如Swift)的概念。@dfri谢谢。我相信如此广泛的完整信息最好作为答案,而不是注释。当然,我会将其作为答案写下来。
struct SomeStruct: StringLiteralConvertible {
    init(stringLiteral value: String) {}
    init(extendedGraphemeClusterLiteral value: String) {}
    init(unicodeScalarLiteral value: String) {}
    func someFunc(){}
}