我目前正在尝试为一个项目制作一个高度计,但我对这个"呼叫中的额外争论"错误,经过大约4个小时的研究后,我找不到任何特别的帮助。
然而,我确实看到这个错误可能会产生误导,并且电话没有问题,而且这是其他问题。我和我的同行都对这个错误感到难过,并转过身来看看我们是否可以在这里得到帮助。我从Joel Crabb(http://joelcrabb.com/?p=289)得到了我的基本代码,在更新了一些过时的代码之后它就像这样结束了。
以下是我的界面控制器
//
// AltitudeInterfaceController.swift
// lets learn WatchKit Extension
//
// Created by M.McCoy on 1/24/18.
// Copyright © 2018 M.McCoy All rights reserved.
//
import WatchKit
import Foundation
import CoreMotion
class AltitudeInterfaceController: WKInterfaceController {
//source: Joel Crabb: http://joelcrabb.com/?p=289
@IBOutlet var altitudeLabel: WKInterfaceLabel!
lazy var altimeter = CMAltimeter()
lazy var queue = OperationQueue()
var relativeAltitude = 0
@IBAction func startButton(){
if CMAltimeter.isRelativeAltitudeAvailable()
{
altimeter.startRelativeAltitudeUpdates(to: queue, withHandler: {(data: CMAltitudeData?, error: NSError?) in
//Needed to refresh the screen from inside the closure
DispatchQueue.main.async {
self.altitudeLabel.setText("%.2f feet",
((3.28 * //Extra arguement in call error here.
((data?.relativeAltitude.doubleValue))!)))
};
})
} else {
self.altitudeLabel.setText("No barometer available")
}
}
提前感谢您帮助和解释我需要做些什么来解决此错误。
答案 0 :(得分:0)
SetText只有一个参数,它是字符串。我知道你想传递格式号的双值,但这不是那种方式。
试试这个:
self.altitudeLabel.setText(String(format:"average temp. = %.2f", 3.28 *data?.relativeAltitude.doubleValue!))