我创建了String的扩展名:
extension String {
var cSym:String? {
return CurrencyConversion.getCurrencySymbolWithCode(self)
}
}
当我使用扩展程序时,我可以看到它并且Xcode指向扩展程序正常,但是当我去运行时,我得到并且错误说明:
'String'的值没有成员'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问题?
答案 0 :(得分:1)
发现问题,Xcode似乎已删除了我目前正在运行的目标链接。
不是一个理想的情况,但如果有人遇到这个,只需仔细检查Xcode没有删除你的链接。
答案 1 :(得分:0)
如果您正在使用框架中的扩展程序或与扩展程序本身不在同一范围内的任何扩展程序,则应使用public
标记其内容以使其可用(Swift方法为{{1}默认情况下):
internal