如何使用CoreLocation
框架创建包含确定纬度和经度的方法的结构?
答案 0 :(得分:1)
为了使用CoreLocation
框架,我们必须导入它:
import CoreLocation
创建struct
...这是非常基本的Swift东西:
struct CLStruct {
func fetchCoordinates() -> (latitude: Double, longitude: Double) {
// do CoreLocation stuff
}
}
虽然可能更有用的是struct a latitude和longitude属性以及实例化其中一个结构的方法:
struct CLStruct {
var latitude: Double
var longitude: Double
static func structForCurrentPosition() -> CLStruct {
// do CLStuff to fetch latitude and longitude
return self(latitude: 37.3318, longitude: -122.0296)
}
}
我们可以这样使用它:
let currentLocation = CLStruct.structForCurrentPosition()
但是,尽管如此,绝对值得注意的是CoreLocation
框架有一个名为CLLocation
的类,它已经包含了表示位置所需的一切。如果有的话,你可能很想简单地扩展或子类化这个对象,以便随时添加它。
答案 1 :(得分:0)
创建:
struct Location {
let latitude: Double
let longitude: Double
}
实例化:
let myLocation = Location(latitude: 37.331830, longitude: -122.005792)
访问权限:
print(myLocation.latitude) // 37.331830
print(myLocation.longitude) // -122.005792
答案 2 :(得分:0)
您不应该重新创建轮子。苹果已经为它提供了一种结构体,并提供了几种辅助方法,并为其他开发人员提供了更广泛的熟悉度。
它称为void list_sort( list_t* list ){
//if 0 or 1 element list
if (list->head==NULL || list->head->next==NULL) {
return;
}
//stuck on what to do after this point
//I know I need to split the list into two sublists, then recursively call list_sort again
//then finally merge the two sublists
}
https://developer.apple.com/documentation/corelocation/cllocationcoordinate2d