繁体   English   中英

R.Swift - 无法调用非函数类型 StringResource 的值

[英]R.Swift - Cannot call value of non-function type StringResource

任何有使用 R.Swift 经验的人可以提供帮助吗? 我正在尝试合并我们项目中使用大量R.string.localizable的代码,这样它们的出现就不会散布在整个代码中,并且字符串(和图像)不需要一次又一次地重新实例化。 为此,我想添加静态惰性结构,如下所示:

private struct Text
{
    static let text1 = R.string.localizable.text1()
    static let text2 = R.string.localizable.text2()
    static let text3 = R.string.localizable.text3()
    static let text4 = R.string.localizable.text4
}

这适用于简单的字符串,但是当任何这些字符串资源需要参数时就会出现问题,例如text4因此被声明为String Resource而不是String

R.generated.swift:

static let text4 = Rswift.StringResource(key: "some.username", tableName: "Localizable", bundle: R.hostingBundle, locales: ["en", "ja"], comment: nil)

当需要text4并且我尝试通过我的 Text 结构使用它时,我收到错误消息:

_userNameLabel?.text = Text.text4(userName, String.Empty)

错误: Cannot call value of non-function type StringResource

有没有办法使这项工作?

您可以使用

static func text4(_ value: Int) -> String {
     R.string.localizable.text4(value)
}

并调用Text.text4(10)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM