gpt4 book ai didi

arrays - 从 Core Data 创建一个 CLLocation 坐标数组

转载 作者:搜寻专家 更新时间:2023-11-01 06:23:24 25 4
gpt4 key购买 nike

也许我找不到这个问题的答案,因为它非常简单,我应该能够弄明白,但我被难住了。哦,如果我的某些术语不正确,我深表歉意 - 我还在学习。

我正在使用 Swift 并有一个从 Core Data 派生的数组。到目前为止,一切都很好。该数组中的两个元素是存储纬度和经度的 Doubles/NSNumbers。我将使用这两个元素在 map 上绘制,但我不知道如何将这两个元素放入它们自己的 CLLocations 数组中。

所以,我在 Core Data 中得到了所有数据的数组:

var locationsList: [Locations] = []

var context = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!
var request = NSFetchRequest(entityName: "Locations")
let pred = NSPredicate(format: "game = %d", passedGameNumber)
request.predicate = pred
request.sortDescriptors = [NSSortDescriptor(key:"time", ascending: false)]
self.locationsList = context.executeFetchRequest(requestMap, error: nil)! as [Locations]

但它保存了 Core Data 中所有内容的数据(按游戏过滤):

class Locations: NSManagedObject {

@NSManaged var game: NSNumber
@NSManaged var time: NSDate
@NSManaged var latitude: NSNumber
@NSManaged var longitude: NSNumber

}

我只需要一个包含纬度和经度的数组,我需要将其转换为 CLLocation 以放在 map 上。我应该弄清楚 map 部分 - 正是这个数组让我摸不着头脑!谢谢。

最佳答案

想通了。在用于遍历 Core Data 数组的 for 循环之上,我还必须将我的纬度和经度转换为 Double,然后再将它们作为 CLLocationCoordinate2D 附加到我的新数组。

var coordinates: [CLLocationCoordinate2D] = []

for index in 0..<self.locationsList.count{
var lat = Double(self.locationsList[index].latitude)
var long = Double(self.locationsList[index].longitude)
var coordinatesToAppend = CLLocationCoordinate2D(latitude: lat, longitude: long)
coordinates.append(coordinatesToAppend)
}

关于arrays - 从 Core Data 创建一个 CLLocation 坐标数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com