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

前端之家收集整理的这篇文章主要介绍了Swift快速给Cocoa库内置类添加便捷初始化器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


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

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

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

why not!

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

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

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

that’s all!

猜你在找的Swift相关文章