swift - 使用结构体获取和设置值的方法?

标签 swift struct

我在结构方面遇到的问题是尝试获取和设置值。 我尝试这样存储我的 ivars:

let origin.x = 10, origin.y = 10

但是,我对如何使用 getter 和 setter 感到困惑。我有一个起源,但我应该在 newCenter 参数中放入什么?

struct Point {
var x = 0.0, y = 0.0

}

struct Rect {
     var origin = Point(x: 10, y: 10)
     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)
         }
     }
}

最佳答案

这似乎基本上是正确的 - 不需要将任何内容“放入”newCenter 参数中。但是,在计算 y 位置时,您错误地除以 size.width 而不是 size.height

当您使用foo.center = bar时,bar将是newCenter的值。

关于swift - 使用结构体获取和设置值的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604137/

相关文章:

ios - Swift 中具有单个泛型函数的多种错误类型的泛型错误处理

c++ - 搜索字符串 C++ 的结构 vector

c - int数组到C中的struct数组

c - 将制表符分隔的文件读取到 C 中的结构

json - 如何从 JSON API 解析并存储前一天

ios - 选项类型 'String?' 的 AVFoundation 值未解包,应用程序崩溃,不会播放声音

ios - 上传符号文件文件中的 Xcode 错误

c++ - 如何在头文件中定义具有继承性的结构?

c - 将结构体数组作为指针传递给函数 (C)

ios - UITableView 顶部的白色背景