由于某些原因,PHAsset
上的location
属性仅在Objective-c中暴露,而不在Swift中暴露。获取Swift中PHAsset的位置
Documentation: PHAsset.location
要解决它,我想我可以创建一个Objective-C类,其唯一目的是提取位置,并将其导入斯威夫特。
LocationGetter.h
@interface LocationGetter : NSObject
+ (CLLocation *)locationForAsset:(PHAsset *) asset;
@end
LocationGetter.m
@implementation LocationGetter
+ (CLLocation *)locationForAsset:(PHAsset *) asset {
return [asset location];
}
@end
到目前为止好,但是当我尝试使用它在斯威夫特:
LocationGetter.locationForAsset(ass)
“LocationGetter .Type'没有名为'locationForAsset'的成员
奖金的问题:为什么地球上没有苹果暴露在迅速location
?
你能分享更多的代码吗?出于某种原因,这为我崩溃。并非我所有的资产都有一个位置,也许这就是原因,但我不知道如何在您提供的客观c函数中处理这个问题,非常感谢您的帮助。 – alexsalo 2014-12-27 20:11:00
@alexsalo看起来苹果已经在Swift中修复了'location'访问器。你应该可以做'ass.location'来获取位置。 '屁股'是你的PHAsset。 [文档:PHAsset.location](https://developer.apple.com/library/prerelease/ios/documentation/Photos/Reference/PHAsset_Class/index.html#//apple_ref/occ/instp/PHAsset/location) – 2014-12-27 20:33:41
是,你说得很对,那么我解决了一个问题。再次感谢! – alexsalo 2014-12-28 03:11:59