Ошибка XCode: не удалось установить () определенное пользователем проверенное свойство: этот класс не соответствует значению ключа для кода - PullRequest
0 голосов
/ 04 мая 2019

РЕДАКТИРОВАТЬ

//  EnterValueScreen.swift
//  myfirstapp

import UIKit

class EnterValueScreen: UIViewController {

    override func viewDidLoad() {
        // Do any additional setup after loading the view.
    }

        // outlet fields


    @IBOutlet weak var enterValue: UITextField!
    var val: Double!
    var convertedVal: Double!
    var weightBool: Bool = true
    var weightName: String!

    @IBOutlet weak var outputLabel: UILabel!
    @IBOutlet weak var segmentControl: UISegmentedControl!
    //outputField.text = ans

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        enterValue.resignFirstResponder()
    }

    @IBAction func enterValueTouch(_ sender: UITextField) {
    }


    @IBAction func indexedWeight(_ sender: Any) {
        switch segmentControl.selectedSegmentIndex {
        case 0:
            weightBool = true
        case 1:
            weightBool = false
        default:
            weightBool = true
        }
    }
    //
    func convertEquations(_ weight: Bool, insertValueFromTextField value: Double) -> Double {

        if weight == true {
            print("we doin Kgs")
            convertedVal = 2.20462 * value
            weightName = "Pounds"


        } else {
            print("we doin lbs")
            convertedVal = value / 2.20462
            weightName = "Kilos"
        }

        return convertedVal.rounded(toPlaced: 1)
    }

    @IBAction func convertButton(_ sender: UIButton) {
        //execute function converter

        val = Double(enterValue.text ?? "0")

        convertEquations(weightBool, insertValueFromTextField: val)

        outputLabel.text = String(convertedVal) + " \(weightName!)"
    }
}


extension Double {
    func rounded(toPlaced places:Int) -> Double {
        let divisor = pow(10.0, Double(places))
        return (self * divisor).rounded() / divisor
    }
}

Это ошибка, которую я получаю:

2019-05-06 11: 45: 01.601637 + 0100 myfirstapp [3695: 385041] Не удалось установить () определенное пользователем проверенное свойство для (myfirstapp.EnterValueScreen): [setValue: forUndefinedKey:]: этот класс не является значением ключа совместим с кодом для ключа. 2019-05-06 11: 45: 04.016105 + 0100 myfirstapp [3695: 385041] [MC] Контейнер системной группы для systemgroup.com.apple.configurationprofiles путь является / Users / james / Library / Developer / CoreSimulator / Devices / 976DE92D-F68B -4608-9EC5-E68B0EB658A6 / данных / Контейнеры / Общие / SystemGroup / systemgroup.com.apple.configurationprofiles 2019-05-06 11: 45: 04.016549 + 0100 myfirstapp [3695: 385041] [MC] Чтение из личных эффективных пользовательских настроек. 2019-05-06 11: 45: 04.071007 + 0100 myfirstapp [3695: 385041] Не удается найти клавиатуру, которая поддерживает тип 4 для клавиатуры iPhone-PortraitTruffle-NumberPad; используя 20615_PortraitTruffle_iPhone-Simple-Pad_Default

1 Ответ

0 голосов
/ 04 мая 2019

Попробуйте использовать super.viewDidLoad(); в вашем override func viewDidLoad() методе.

как

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
}

Если это не сработало, попробуйте удалить и заново подключить соединение viewController из раскадровки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...