swift - 解释方法对数组的影响

标签 swift function dictionary nsmutablearray

我是编码新手,所以对愚蠢的问题表示歉意。

我正在遵循 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)
}

最佳答案

aNote.dictionary() 将 aNote 日期和文本作为一个 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)
}
...

关于swift - 解释方法对数组的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31558846/

相关文章:

ios - 为什么我的 Apple Watch 并发症没有显示任何东西?

function - 无法在 map 函数中捕获异常

php - PHP 文档中的参数,方括号?

python - 在字典中查找最小值

swift - 在swift中比较单个if结构中的非可选bool有什么问题

swift - 解析和 Swift : Column with multiple keys

ios - UITableViewCell 内的 UICollectionView 始终返回空,即使显示为选定状态

azure - 从 Durable Function 运行未知数量的事件函数

c# - 多维数组与字典性能

python - 解析 json 数据时仅检索前 2 个值