3

我创建了一个字符串的扩展:

extension String {
    var cSym:String? {
        return CurrencyConversion.getCurrencySymbolWithCode(self)
    }
}

当我去使用扩展时,我可以看到它并且 Xcode 指向扩展,但是当我去运行时,我得到并错误说明:

“字符串”的值没有成员“cSym”

class func getCurrency(code : String) -> String {
    return code.cSym ?? "$"
}

我一直在查看 Apple 文档https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html,但看不出问题出在哪里。我也复制并粘贴了文档中的代码片段,我得到了与 Double 完全相同的错误。

也许这是一个 Swift2.1 的问题?

4

2 回答 2

1

发现问题后,Xcode 似乎已经删除了指向我当前运行的目标链接。

这不是一个理想的情况,但如果有人遇到这种情况,请仔细检查 Xcode 是否为您删除了链接。

于 2015-11-10T10:38:22.367 回答
0

如果您正在使用框架中的扩展程序或与扩展程序本身不在同一范围内的任何内容,则应标记其内容public以使其可用(internal默认情况下为 Swift 方法):

extension String {
    public var cSym:String? {
        return CurrencyConversion.getCurrencySymbolWithCode(self)
    }
}
于 2015-11-09T11:21:12.243 回答