Swift快速给Cocoa库内置类添加便捷初始化器

时间:2023-02-04 16:46:14

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


Cocoa中的NSShadow类默认没有我们需要的实例方法,为了创建一个指定的实例,我们需要分3步来完成:

let shadow = NSShadow()
shadow.shadowColor = UIColor.redColor()
shadow.shadowOffset = CGSize(width:4,height:4)

为什么不写一个初始化器一步到位呢?

why not!

extension NSShadow{
    convenience init(color:UIColor,offset:CGSize){
        self.init()
        self.shadowColor = color
        self.shadowOffset = offset
    }
}

然后我们可以这样调用了:

let sd = NSShadow(color: UIColor.redColor(), offset: CGSize(width: 4, height: 5))

that’s all!