Swift 从 CoreData 转换为 CoreLocation - 有一些问题

Posted

技术标签:

【中文标题】Swift 从 CoreData 转换为 CoreLocation - 有一些问题【英文标题】:Swift Convert from CoreData to CoreLocation - having some issues 【发布时间】:2021-07-09 01:44:22 【问题描述】:

我有一个相当简单的项目,我需要将一个 CLLocations 数组存储到一个 CoreData 文件到一个对象(存储纬度、经度和时间戳的位置。

从 CoreLocation 到 Location 非常简单。 当我收到此错误消息时,与此相反的情况并不简单。 “无法分配给属性:'timestamp' 是一个只能获取的属性”当我这样做时

 func changeLocationToCLLocation(place: Location)
        let clLocation = CLLocation(latitude: place.longitude, longitude: place.latitude)
        clLocation.timestamp = place.timeAtLocation
    

我错过了什么吗?

【问题讨论】:

【参考方案1】:

问题出在这一行:

 let clLocation = CLLocation(latitude: place.longitude, longitude: place.latitude)

您使用了错误的初始化程序。使用这个:

https://developer.apple.com/documentation/corelocation/cllocation/1423666-init

这是更多的工作,但它可以让你设置时间戳。

【讨论】:

以上是关于Swift 从 CoreData 转换为 CoreLocation - 有一些问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 Core Data 在 Swift 中通过 UIProgressView 异步插入数据

Core Data - 通过 URI 获取托管对象

使用 Swift 从 Core Data 中获取数据并在 UITextFields 中显示

在 Core Data 可转换字符串数组上返回匹配项的 Swift 谓词

将 iOS 应用从 NSCoding 转换为 Core Data

swift / Core Data - 为数据模型创建“虚拟”NSManagedObject(无需托管对象即可测试事物)