为什么 NSLog 不支持 Swift 对象(转)
2016-06-09 11:03
316 查看
https://segmentfault.com/a/1190000005668218
也就说:
1. 如果是 OC 的对象,重写 description 的 get 方法就可以了。
2. 如果不是 OC 对象,遵循协议 CustomDebugStringConvertible 就可以了。
输出:
也就说:
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! 2016-06-09 10:59:30.465 NSLog[9843:180519] debug Foo. 2016-06-09 10:59:30.468 NSLog[9843:180519] debug Bar.
相关文章推荐
- swift常用词汇(持续更新)
- Swift使用NSJSONSerialization请求解析JOSN文件
- iOS开发 - Swift使用JavaScriptCore与JS交互
- 為 Swift 代碼編寫含有 Mardown 語法的文檔
- swift 图层设置遮罩层
- swift iOS8 XIB 问题
- Swift
- swift中变量的get和set
- swift UIBezierPath基本使用
- 制作Swift Framework
- 【Swift】UISearchBar输入框的背景颜色
- 非常全面的Swift学习资料整理
- swift方法顺序 不成文规定
- Swift实现堆排序算法的代码示例
- Swift模拟从服务区端加载指定的控制器类型
- swift 第一节 字符串的用法及常用方法
- 制作Swift Framework
- Swift项目真机调试报错dyld: Library not loaded: @rpath/libswiftCore.dylib
- swift 多线程GCD和延时调用
- Swift笔记之基本概念