您的位置:首页 > 移动开发 > Swift

重写Swift的get和set方法

2017-01-16 01:29 471 查看
本人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那样去写。。暂时只能多写几行代码了。新手勿喷,希望大神们能给出建议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift ios