【发布时间】:2021-02-19 12:01:46
【问题描述】:
我已经在 ObservableObject 类中的函数中计算了一个值,现在我想使用该类中另一个计算中返回的值。
代码如下,注意事项:-
- hole1index 是从 Core Data 获取的一项数据。
- 第一个函数 (p1h1shots) 完美运行并返回正确的值。
- 第二个函数 (p1h1net) 需要使用 p1h1shots 的输出来计算返回值。
- 我尝试以多种方式构造第二个函数,但不断收到类似的错误消息“无法将类型 '(Int16) -> Int16' 的值转换为预期的参数类型 'Int16' 显示的代码p1h1net的返回行有这个错误信息。
我对 Swiftui 比较陌生,所以可能缺少一些基本的东西,任何指针或线索都将不胜感激。如果有任何其他信息有帮助,请告诉我。
提前致谢
import SwiftUI
import CoreData
class ScoreManager : ObservableObject {
@Published var player1 = ""
@Published var player2 = ""
@Published var p1handicap = 0
@Published var p2handicap = 0
@Published var p1hole1gross = 0
@Published var p1hole2gross = 0
func p1h1shots(hole1index: Int16) -> Int16 {
let hand = Int16(p1handicap)
let shot = hand - hole1index
if shot < 0 {
return Int16(0)
}
if shot < 0 {
return Int16(0)
}
if shot >= 0 && shot < 18 {
return Int16(1)
}
if shot >= 18 && shot < 36 {
return Int16(2)
}
if shot >= 36 && shot < 54 {
return Int16(3)
}
return Int16(0)
}
func p1h1net() -> Int16 {
let gross = Int16(p1hole1gross)
let shot = p1h1shots
return Int16(gross - shot)
}
}
【问题讨论】:
标签: function class types swiftui calculation