Не может получить и установить значение, используя блок завершения в Xcode 10.1 - PullRequest
0 голосов
/ 11 января 2019

Я использую Xcode 10.1, где я попытался вычислить радиус в блоке завершения, установив значение другой переменной, называемой диаметром. Код указан ниже

import UIKit
import Foundation

var radius:Double = 10
var diameter: Double{
    get{
        return radius * 2
    }
    set{
        radius = newValue
    }
}
diameter = 30
print(diameter)

Я ожидаю, что результат будет 60.0, но он показывает:

ошибка: вычисленное свойство.playground: 43: 1: ошибка: переменные в настоящее время должен иметь начальное значение при вводе на верхнем уровне REPL var area: Double {

Вывод правильно отображается в онлайн-компиляторе swift, но не в Xcode. Теперь, как получить правильный вывод?

1 Ответ

0 голосов
/ 11 января 2019

Вы должны написать этот код в классе или структуре, затем создать объект класса или структуры, а затем назначить значение диаметра и распечатать его.

   /**
    This code you can run in playground
    */
            class Demo {
                var radius:Double = 10
                var diameter: Double {
                    get{
                        return radius * 2
                    }
                    set{
                        radius = newValue
                    }
                }

            }

            let d = Demo()

            d.diameter = 30
            print(d.diameter)

           //Output
           60.0

    /**
    This code you can run in Xcode.
    */
    class ViewController: UIViewController {
        var radius:Double = 10
        var diameter: Double {
            get{
                return radius * 2
            }
            set{
                radius = newValue
            }
        }

        override func viewDidLoad() {
            super.viewDidLoad()
            diameter = 30
            print(diameter) // Output: 60.0
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...