我有以下代码:斯威夫特意外地发现为零时,有实际价值
class User {
var listsDict : [String : List]!
func addList (list : List) -> Void {
print(list.name)
listsDict[list.name] = list
}
func listForName (name: String) -> List? {
return listsDict[name]
}
}
class List {
let name : String
var movies : Set<String>
init(name: String){
self.name = name
movies = Set<String>()
}
func printList(){
print(movies)
}
}
var list = List(name: "List")
list.movies = Set<String>(["LOTR", "SAW", "POC"])
list.printList()
var johny = User()
johny.addList(list: list)
当我打电话johny.addList(list: list)
我得到了一个错误:
unexpectedly found nil while unwrapping an Optional value
但是有一个值。我以前创建了列表实例,甚至在列表的日志名称中打印(并成功打印)。为什么我有错误?
错误来自'listsDict',它是'nil'。你应该在'User'中初始化'listsDict'。顺便说一句,“列表”是一个坏的名字。 ;) – clemens
var listsDict:[String:List]! to var listsDict:[String:List] = [:] –
@macmoonshine oh ..抱歉) –