# swift: 属性装饰器
·
前提条件
xcode12
创建playground->blank
//test.swift
@propertyWrapper // 属性包装器的定义
struct ClamppedValue{
private var storedValue:Int = 0
var wrappedValue:Int{
get{
return self.storedValue
}
set {
if newValue < 0{
self.storedValue = 0
}else if newValue > 255 {
self.storedValue = 255
}else {
self.storedValue = newValue
}
}
}
init(wrappedValue initValue:Int){
self.wrappedValue = initValue
}
}
struct MyColor{
@ClamppedValue var red:Int//属性有属性包装器的逻辑
@ClamppedValue var green:Int
@ClamppedValue var blue:Int
}
let color:MyColor = MyColor(red: 400, green:-2 , blue:2)
print("color: \(color)")
运行观察red,green数值变化
更多推荐
所有评论(0)