После этой линииNumberFormatter Аргумент метка «(_ :)» не найдены доступные перегрузок
lable2xValue.text = numberFormatter.string(from: value)
Сначала это бросает эту ошибку
Невозможно преобразовать значение типа «Double», чтобы ожидать, аргумент типа 'NSNumber'
Затем Xcode предлагают value
заменить NSNumber
lable2xValue.text = numberFormatter.string(from: NSNumber(value))
Когда я делаю это, то эта ошибка показывает
Аргумент метки '(_ :)' не найдено доступных перегрузкам
Вот мой полный код
//computed property
var value2x : Double? {
if let value = value1x{
return (value * 2)
}
else{
return nil
}
}
//objerver
var value1x : Double? {
didSet{
updateLabel2xValue()
}
}
func updateLabel2xValue(){
if let value = value2x {
//lable2xValue.text = "\(value)"
//MARK:- ERORR Cannot convert value of type 'Double' to expected argument type 'NSNumber'
//lable2xValue.text = numberFormatter.string(from: value)
//MARK:- ERROR Argument labels '(_:)' do not match any available overloads
lable2xValue.text = numberFormatter.string(from: NSNumber(value))
}
else {
lable2xValue.text = "???"
}
}
var numberFormatter : NumberFormatter = {
let ls = NumberFormatter()
ls.numberStyle = .decimal
ls.minimumFractionDigits = 0
ls.maximumFractionDigits = 2
return ls
}()
@IBAction func textField1xValueEditingChange(_ sender: AnyObject) {
//print(self.textField1xValue.text)
if let value = self.textField1xValue.text , let doubleValue = Double(value){
value1x = doubleValue
}else{
value1x = nil
}
}
Примечание: если я пытаюсь таким образом, то он работает нормально
lable2xValue.text = numberFormatter.string(from: 50.33)
wow Я уже решил принять ваш ответ, но мне нужно сделать несколько минут. спасибо за обновление ответил –