Swift中使用NSLog的问题
Posted 大熊猫侯佩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift中使用NSLog的问题相关的知识,希望对你有一定的参考价值。
在Swift中如果想要以如下方式执行NSLog,则编译器必定抱怨:
class Foo {}
NSLog("%@",Foo())
因为Foo是原生Swift类不是继承自NSObject,而NSLog需要其Description方法,所以我们必须使Foo派生自NSObject,然后重载Description方法:
class Foo:NSObject {
override var description: String {return "大熊猫侯佩"}
}
NSLog也支持字符串内插显示,这时你可以不从NSObject中派生,你只要遵守CustomDebugStringConvertible协议即可:
class Tom:CustomDebugStringConvertible{
var debugDescription: String {return "勒布朗-詹姆斯"}
}
NSLog("\(Tom())")
以上是关于Swift中使用NSLog的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?