gpt4 book ai didi

ios - 在 Swift 中获取 PHAsset 的位置

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:27 26 4
gpt4 key购买 nike

由于某些原因,PHAsset 上的 location 属性仅在 Objective-c 中公开,在 Swift 中不公开。

Documentation: PHAsset.location

为了解决这个问题,我想我可以创建一个 Objective-C 类,其唯一目的是提取位置并将其导入 Swift。

位置 getter .h

@interface LocationGetter : NSObject
+ (CLLocation *)locationForAsset:(PHAsset *) asset;
@end

LocationGetter.m

@implementation LocationGetter
+ (CLLocation *)locationForAsset:(PHAsset *) asset {
return [asset location];
}
@end

到目前为止还不错,但是当我尝试在 Swift 中使用它时:

LocationGetter.locationForAsset(ass)

'LocationGetter.Type' does not have a member named 'locationForAsset'

额外的问题:Apple 到底为什么不在 swift 中公开 location

最佳答案

事实证明,答案真的很简单。问题是 Swift 文件不知道 CLLocation 是什么,因此拒绝导入该函数。导入 CoreLocation 解决了这个问题。

import CoreLocation

LocationGetter.locationForAsset(ass)

编辑:Apple 已将 .location 作为 PHAsset 的 setter/getter 。现在获取位置就像 asset.location 一样简单。

关于ios - 在 Swift 中获取 PHAsset 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25581871/

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