码迷,mamicode.com
首页 > 编程语言 > 详细

Swift中使用NSLog的问题

时间:2016-07-01 11:58:19      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:

在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的问题

标签:

原文地址:http://blog.csdn.net/mydo/article/details/51799368

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!