您当前的位置: 首页 >  swift

Swift中使用NSLog的问题

发布时间:2016-07-01 10:42:21 ,浏览量: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())")
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107801博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0748s