gpt4 book ai didi

swift - Swift 中的私有(private)二传手 "set()"

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:45 24 4
gpt4 key购买 nike

这是由apple提供的pint结构setter getter介绍的point example如何让只有二传手私有(private)

struct Point {
var x = 0.0, y = 0.0
}
struct Size {
var width = 0.0, height = 0.0
}
struct Rect {
var origin = Point()
var size = Size()
var center: Point {
get {
let centerX = origin.x + (size.width / 2)
let centerY = origin.y + (size.height / 2)
return Point(x: centerX, y: centerY)
}
set(newCenter) {
origin.x = newCenter.x - (size.width / 2)
origin.y = newCenter.y - (size.height / 2)
}
}
}

最佳答案

docs ,在“Getters and Setters”标题下的第一个代码示例中,您可以看到有一个私有(private) setter,语法如下所示:

private (set) var center: Point {...

一些说明:private 在 Swift 中的工作方式略有不同——它将对属性/方法的访问限制在文件的范围内。只要文件中有一个以上的类,他们就可以访问所有内容。为了让 private“工作”,您需要将您的类放在单独的文件中。

关于swift - Swift 中的私有(private)二传手 "set()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36148203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com