我有这些课程:
class Song {
var title : String = ""
weak var album : Album?
init() {
self.album = Album()
}
}
和
class Album {
var title : String = ""
var Songs : Array < Song > = []
deinit {
print(self , self.title)
}
}
这应该可以正常工作,但是每当我尝试从歌曲实例中为专辑设置标题时,我都会得到专辑的 nil 错误,例如,如果执行下面的代码:
let s = Song()
s.title = "some title for song"
s.album!.title = "some title for album"
当尝试 s.album!.title = "" 我得到:
在展开可选值时意外发现 nil
在 Song 类的 init 上调用一次 deinit 函数
我在这里做错了什么?我应该如何解决这个问题?