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

 

转载于:https://www.cnblogs.com/sgxx/p/6207513.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值