无法使用Xcode 10.1中的完成块获取和设置值

时间:2019-01-11 07:43:14

标签: swift

我正在使用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区域:Double {

输出正确显示在swift的在线编译器中,但未显示在Xcode中。现在如何获得正确的输出?

1 个答案:

答案 0 :(得分:0)

您必须在类或结构中编写此代码,然后创建该类或结构的对象,然后必须指定直径值并打印。

   /**
    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
        }
    }