为什么 NSLog 不支持 Swift 对象(转)
2024-10-19 02:18:19
https://segmentfault.com/a/1190000005668218
也就说:
1. 如果是 OC 的对象,重写 description 的 get 方法就可以了。
2. 如果不是 OC 对象,遵循协议 CustomDebugStringConvertible 就可以了。
import Foundation print("Hello, World!") class Foo: CustomDebugStringConvertible {
var debugDescription: String {
return "debug Foo."
}
} NSLog("\(Foo())") class Bar: NSObject {
override var description: String {
return "debug Bar."
}
} NSLog("%@", Bar())
输出:
Hello, World!
-- ::30.465 NSLog[:] debug Foo.
-- ::30.468 NSLog[:] debug Bar.
最新文章
- js日期时间计算天数
- CF570D:Tree Requests
- Android学习之AsyncTask
- LayoutTransition实现显示、隐藏动画
- 无刷新 checkbox列表的删除
- ManagementFactory cannot be resolved
- Windows SharePoint Services 3.0编码开发工具和技巧(Part 1 of 2)
- 无递归 A星寻路算法
- JavaEE(15) - JPA实体继承
- 《Java从入门到放弃》JavaSE入门篇:异常
- 蓝桥杯java 关于大范围时间的
- python web开发-flask调试模式
- 学习使人快乐8--Maven
- 【ML入门系列】(二)分类与回归
- Javascript中类的实现机制(四)
- 【转】解决IDEA新建项目名称为红色
- 【HNOI2015】实验比较
- PHP 数据库防止攻击
- table加载慢
- python3 练习题100例 (十一)
热门文章
- Rtp 协议实现网络广播台网络收音机
- qooxdoo 3.0 发布,JavaScript 的 GUI 框架
- 倒排索引压缩:改进的PForDelta算法
- “System.Web.UI.WebControls.Literal”不允许使用子控件
- 设计模式之美:Bridge(桥接)
- 通过Anuglar Material串串学客户端开发 - NodeJS模块机制之Module.Exports
- Net中JSON序列化和反序列化处理(日期时间特殊处理)
- JavaScript:最烂与最火
- 关于TCP的粘包
- 更改Windows系统的密码之后,SQL Server 2008服务无法启动