解释方法对数组的影响

Explaining effect a method is having on an array

我是编码新手,很抱歉提出愚蠢的问题。

我正在学习 Swift 教程并编写了以下代码;创建一个名为 Note 的 Class、一个名为 dictionary 的方法和一个名为 saveNotes 的 class 方法。

我对最后一行感到困惑: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)
}

aNote.dictionary() returns aNote date and text as one NSDictionary.您将此方法发送到单个音符,而不是数组。方法 return 单个 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)
}
...
   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"
}