对编码不熟悉,为愚蠢的问题道歉。
我正在关注Swift教程,并编写了以下代码;创建一个名为Note的类,一个名为dictionary的方法和一个名为saveNotes的类方法。
我对最后一行感到困惑:aDictionaries.addObject(allNotes [i] .dictionary()
我知道我在aDictionaries数组上运行一个方法来添加一个对象,传入allNotes [i]。有人能解释一下.dictionary()函数究竟在做什么吗?它是否将数组allNotes转换为字典?是否将字典附加到数组allNotes?大概是它没有将数组allNotes转换成字典?这似乎不可能来自func词典里面的内容。或许我错了。
任何评论都会感激不尽。
var allNotes : NSMutableArray = []
class Note: NSObject {
var date : String
var note : String
override init(){
date = NSDate().description
note = ""
}
func dictionary() -> NSDictionary{
return ["note":note, "date":date]
}
class func saveNotes(){
var aDictionaries:NSMutableArray = []
for var i:Int = 0; i < allNotes.count; i++ {
aDictionaries.addObject(allNotes[i].dictionary())
}
aDictionaries.writeToFile(filePath(), atomically: true)
}
答案 0 :(得分:0)
aNote.dictionary()
将注释日期和文本作为一个NSDictionary返回。您将此方法发送到单个注释,而不是数组。该方法返回单个NSDictionary。
您的代码等同于以下
...
class func saveNotes(){
var aDictionaries:NSMutableArray = []
for var i:Int = 0; i < allNotes.count; i++ {
let noteAtIndexI = allNotes[i]
let dictionaryForNoteAtIndexI = noteAtIndexI.dictionary()
aDictionaries.addObject(dictionaryForNoteAtIndexI)
}
...
答案 1 :(得分:0)
allNotes is an array of Note objects
allNotes[i] gives you a single Note object for index i
.dictionary() func returns NSDictionary of that Note Object:
像
{
"note":"some Note",
"date":"2015-07-22 09:51:35"
}