我正在学习Swift中的map方法。标准定义是
map方法接受一个函数(transform),并返回一个数组,其中包含对数组中每个元素调用transform的结果。
这是有道理的。如果我想为数组中的每个字符串元素添加一个文本字符串,我可以执行以下操作。
var stringArray = ["Blue", "Green", "Brown", "White"]
var newStringArray = stringArray.map({"\($0)Color"})
这会为每个元素添加“颜色”。
我的问题与正确使用地图功能有关。如果我用它来创建一些带有类方法的对象,那么这是可以接受的。例如,如果我有一个包含许多用于创建新对象的对象的数组,那么使用map方法调用类函数是否正确?它的工作原理我只是想确保它不是不好的做法。
XMLParsedDataArray!.map({Article.createFLOArticleWithStructure($0, inManagedObjectContext: self.articleContext)})
XMLParsedDataArray中的每个元素都是如下定义的结构。
struct DateTitleLink
{
var date : NSDate?
var title : String?
var link : String?
}
createFLOArticleWithStructure方法创建Article对象并将其存储在Core Data中。
从技术上讲,我不是在转换数组的每个元素,我只是使用map方法来调用类函数。