Swift 这是什么意思?声明变量,后跟未赋值的块

Swift 这是什么意思?声明变量,后跟未赋值的块,swift,Swift,Noob Swift问题——我不明白这在Swift中意味着什么: public var currentTime: NSTimeInterval? { return self.audioPlayer?.currentTime } currentTime未分配给NSTimeInterval之后的代码块?这意味着什么?在我的参考书中没有这样的例子。这叫做只读计算属性 根据苹果文档 具有getter但没有setter的计算属性称为只读计算属性。只读计算属性始终返回值,可以通过点语法访问,但不能

Noob Swift问题——我不明白这在Swift中意味着什么:

public var currentTime: NSTimeInterval? {
    return self.audioPlayer?.currentTime
}

currentTime
未分配给
NSTimeInterval之后的代码块?
这意味着什么?在我的参考书中没有这样的例子。

这叫做
只读计算属性

根据苹果文档

具有getter但没有setter的计算属性称为只读计算属性。只读计算属性始终返回值,可以通过点语法访问,但不能设置为其他值


有关更多信息,请参见
只读计算属性

根据苹果文档

具有getter但没有setter的计算属性称为只读计算属性。只读计算属性始终返回值,可以通过点语法访问,但不能设置为其他值

有关更多信息,请参见:

public var currentTime: NSTimeInterval? {
    get { return self.audioPlayer?.currentTime }
}
如果计算属性只有一个
get
,则可以省略单词
get
和花括号

从:

通过删除get关键字及其大括号,可以简化只读计算属性的声明:

这与:

public var currentTime: NSTimeInterval? {
    get { return self.audioPlayer?.currentTime }
}
如果计算属性只有一个
get
,则可以省略单词
get
和花括号

从:

通过删除get关键字及其大括号,可以简化只读计算属性的声明:


我写了一个小游戏来澄清:

//: Computed properties

import UIKit

var variable_int = 1

var computed_int: Int {
get { return 1 }
set { newValue }
}

var get_only_int: Int {
  return 1
}

var get_only_int_2: Int {
get { return 1 }
}

variable_int = 2 // legal
computed_int = 2 // legal

// computed_read_only_int = 2   // 'computed_read_only_int' is a get-only property
// computed_read_only_int_2 = 2 // 'computed_read_only_int_2' is a get-only property


// This is another way to specify a variable you could find useful, I found it somewhere on natashatherobot.com
var variable_int_2: Int = {
  return 1
}()

variable_int_2 = 2 // legal

在Xcode 8.1中工作

为了澄清,我写了一篇小文章:

//: Computed properties

import UIKit

var variable_int = 1

var computed_int: Int {
get { return 1 }
set { newValue }
}

var get_only_int: Int {
  return 1
}

var get_only_int_2: Int {
get { return 1 }
}

variable_int = 2 // legal
computed_int = 2 // legal

// computed_read_only_int = 2   // 'computed_read_only_int' is a get-only property
// computed_read_only_int_2 = 2 // 'computed_read_only_int_2' is a get-only property


// This is another way to specify a variable you could find useful, I found it somewhere on natashatherobot.com
var variable_int_2: Int = {
  return 1
}()

variable_int_2 = 2 // legal
在Xcode 8.1中工作