我有一个用于记录消息的全局函数和一个具有相同函数名称的类,应该调用该全局函数。诀窍是使用模块名称(通常是xcode项目名称或目标名称)。但是,如果源文件是多个目标的一部分,您应该怎么做呢?
func look(){
//log stuff
}
class MyClass
{
func look(){
TargetName.look()
}
}
另外,为什么String不符合Printable协议?似乎是一个奇怪的选择,因为这不适用于String:
func look(value : Printable?)
{
println(value)
}
好吧,如果您可以帮助您,请不要做第一件事。如果必须的话,将全局函数设为结构的静态方法,就可以通过以下方式实现它们:
struct Logger {
static func look(){
//log stuff
}
}
class MyClass {
func look(){
Logger.look()
}
}
这是疯了String
斯威夫特不是Printable
。如果您想自己添加,可以这样做:
extension String: Printable {
public var description: String { return self }
}
在此期间,该提起雷达了!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句