【发布时间】:2017-01-27 18:24:56
【问题描述】:
当我尝试创建以下 songs 数组时,我收到错误:
“不能在属性初始化器中使用实例成员 'song';属性初始化器在 'self' 可用之前运行”
class ViewController: UIViewController {
struct Song {
let title: String
}
let song = Song(title: "A")
let songs = [song]
}
我可以将let songs = [song] 移动到viewDidLoad(),但是我无法从其他功能访问songs。我可以将let 更改为var,然后将viewDidLoad() 中的songs 更改为我的歌曲数组,但是当我希望它不可变时,我创建了一个可变数组。
如何获得可用于所有功能的不可变歌曲数组,并且仍然让每首单独的歌曲在其自己的常量中可用?
【问题讨论】:
-
这个问题有点不同,答案不适用。我想要一个可用于其他函数的不可变数组。我也希望通过名称访问各个元素。
标签: swift