重写Swift的get和set方法

来源:互联网 发布:vscode golang 配置 编辑:程序博客网 时间:2024/04/30 12:35

本人iOS小菜鸟一枚,最近在从OC转Swift,遇到好多坑。

OC中经常重写get和set方法来做一些操作


就像这样

- (UIImageView *)arrowsImage
{
if (!_arrowsImage) {
_arrowsImage = [[UIImageView alloc] initWithImage:kArrowsImage];
_arrowsImage.contentMode = UIViewContentModeCenter;
}
return _arrowsImage;
}

在swift中有willSet 和didSet来做一些操作

    var backGroundColor :UIColor =UIColor?{

        willSet{

        


        }

        didSet{


            self.view.backgroundColor =backGroundColor;

        }

    }


同时Swift中也有set 和get ,就像下面

    

    var backGroundColor :UIColor{

        

        get {


            

        }

        set {


            

        }

    }

我按照OC的习惯去写发现。。。尼玛一堆坑啊,网上查之后才知道,这个set和get是计算属性,用法是这样的

    var length =CGFloat();

    var height =CGFloat();

    var area:CGFloat {

        get {


            let result =length *height

            

            return result;

        }

        set {


            length =sqrt(area);

            height =sqrt(area);

        }

    }

暂时还没有发现如何才能像OC那样去写。。暂时只能多写几行代码了。新手勿喷,希望大神们能给出建议
0 0
原创粉丝点击