Boo*_*unz 1 string plural inflector swiftui
当使用 SwiftUI 的 inflect 参数时,如下所示:
import SwiftUI
struct ContentView: View {
@State var count = 1
var body: some View {
VStack {
VStack{
Text("^[\(count) Song](inflect: true)")
Button("Add"){ count += 1}
Button("Remove"){ count -= 1}
}
}
.padding()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
一切都按预期进行,但如果我们尝试做这些事情,却不会:
import SwiftUI
struct ContentView: View {
@State var count = 1
var body: some View {
VStack {
VStack{
Text(generateString)
Button("Add"){ count += 1}
Button("Remove"){ count -= 1}
}
}
.padding()
}
}
func generateString(count:Int) -> String {
return "^[\(count) Song](inflect: true)"
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
我希望事实并非如此。如果是这样,为什么呢?
只需将方法的返回类型更改为即可LocalizedStringKey,它应该可以工作:
func generateString(count:Int) -> LocalizedStringKey {
return "^[\(count) Song](inflect: true)"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |