我目前正在尝试将一个字典数组保存到NSUserDefaults。我原本计划将类型设为Array<Dictionary<String,String>>
,但这似乎不是这种情况。
首先,我从以下UI对象获取String值:
@IBOutlet weak var name: UITextField!
@IBOutlet weak var instructor: UITextField!
@IBOutlet weak var time: UIDatePicker!
然后将其保存到字典中,如下所示:
let values = ["name" : self.name.text, "instructor" : self.instructor.text, "date" : self.time.date.description]
然而,词典的类型推断为Array<Dictionary<String,String!>>
而不是Array<Dictionary<String,String>>
。问题似乎是self.name.text
和self.instructor.text
返回字符串!,但self.time.date.description
会返回字符串。
我认为可以忽略这些并继续,但我想了解这里发生了什么而不是继续,并希望它不会在将来破坏某些东西。
答案 0 :(得分:0)
根据iOS开发者库,UITextField
text
属性,返回!String
(Source)。 description
中的self.time.date.description
表示日期对象为String
(Source),常用于调试(将NSDate对象表示为{{1}的更好做法是使用DateFormatter)