2017-03-23 18 views
0

在Swift 3.0中有没有一种方法可以从String类型中获取StaticString类型,该类型很复杂?将字符串转换为StaticString

实施例(需要一个转换到工作):

let aString: StaticString = "One part" + "Second part" 
+1

'让STR:StaticString = “\(第一部分)\(第2部分)”'请问这是什么您需要 –

+0

@InderKumarRathore实际上结果是相同的“无法将一种类型的值转换为另一种” – Vanya

+1

我阅读文档,它说'StaticString:一种字符串类型,用于表示编译时已知的文本.' –

回答

1

这是不可能的,因为一个StaticString被定义为

的简单字符串设计成表示文本是“可知在 编译时”。 (Reference

字符串串联发生在运行时。

我不知道你是刨去做些什么,但你可以做这样的事情:

func aMethod(i: Int) -> StaticString { 
    switch i { 
    case 0: 
     return "Simple" 
    case 1: 
     return "Complex" 
    default: 
     return "Default" 
    } 
} 
let result = aMethod(i: 1) 
print("\(type(of: result)): \(result)") // prints "StaticString: Complex" 
+0

谢谢迈克尔,但我真的很喜欢用通用的黑客方式来做这种转换。 – Vanya