Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Swift中的数据从NSArray转换为字典?_Swift - Fatal编程技术网

如何将Swift中的数据从NSArray转换为字典?

如何将Swift中的数据从NSArray转换为字典?,swift,Swift,我需要把NSArray转换成字典,但不知道怎么做 在获取请求后,我已在NSArray中找到结果。这是我的请求: var results: NSArray = [] func fetchUpdateAttendee() { let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Attendee") let predicate = NSPredicate(format: "needUp

我需要把NSArray转换成字典,但不知道怎么做

在获取请求后,我已在NSArray中找到结果。这是我的请求:

 var results: NSArray = []

func fetchUpdateAttendee() {
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Attendee")
    let predicate = NSPredicate(format: "needUpdate != false")
    fetchRequest.predicate = predicate

    results = try! DBWorker.context.fetch(fetchRequest) as NSArray
    results.forEach { result in
        print(result)
    }
我需要将这些数据放到:let dic4Attendee:[String:Any]=[:]

这是一个核心数据NSManagedObject子类,因此代码应该是

var results = [Attendee]() 


func fetchUpdateAttendee() {
    let fetchRequest = NSFetchRequest<Attendee>(entityName: "Attendee")
    let predicate = NSPredicate(format: "needUpdate == TRUE")
    fetchRequest.predicate = predicate

    do {
        results = try DBWorker.context.fetch(fetchRequest)
        results.forEach { result in
           print(result)
        }
    } catch { print(error) }
}
然后映射数组

let mappedArray = results.map{ $0.dictionaryRepresentation }

我在下面编辑了我的代码。你能在我的代码中写下我应该做什么吗?我更新了答案。您必须将dictionaryRepresentation属性放入Attendee类中。
var dictionaryRepresentation : [String:Any] {
   return ["address" : address,
           "affiliation" : affiliation,
           "city" : city          
            // and so on
          ]
}
let mappedArray = results.map{ $0.dictionaryRepresentation }