zoukankan      html  css  js  c++  java
  • Swift3.0之print和debugPrint

      一般的枚举,打印时候会显示枚举信息,但是一般的对象,打印的时候只会显示类名称和内存空间了。同OC一样,swift也是依靠重写description来改变打印的内容。只不过,OC的description是重写了方法,Swift是重写了属性。并且可以把这个属性重写的方法写到分类中。在之前Swift版本,是可以通过分类重写CustomStringConvertible协议和CustomDebugStringConvertible协议,修改description来实现。目前版本应该是NSObject自身就遵守了这两个协议,所以会提示重复定义的错误。但是并不影响description的使用。

      我们来创建一个Person类:

      

    import UIKit
    
    class Person: NSObject {
        
        var name : String?
        var age : Int = 18
        
    }
    
    extension Person{
        
        override var description: String {
            
           return "Person类对象的名字是:(self.name),年龄是:(self.age)"
            
        }
        
        
        
    }

      此时创建Person,赋值name和age,打印:

      

    import UIKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            
            let p = Person()
            p.name = "axx"
            p.age = 18
            print(p)
        }
    
    }

      结果:

      Person类对象的名字是:Optional("axx"),年龄是:18

  • 相关阅读:
    创建线程方法&守护线程
    可见性
    线程池
    Callable创建线程
    使用java读取excel数据
    shell 中的操作符
    shell 中的特殊变量
    shell 变量定义使用
    golang 解码未知键的 json 字符串
    golang json 编码解码
  • 原文地址:https://www.cnblogs.com/sgxx/p/6207513.html
Copyright © 2011-2022 走看看