在MVC指南中使用MapKit

时间:2015-03-03 19:07:05

标签: swift mapkit

全部, 我正在尝试使用我的应用程序遵循MVC指南,所以我从视图(视图控制器)中删除代码。我试图从Parse获得一个用lat / long显示的MapKit。我手动输入lat / long时工作正常。

所以我想在元组上有一个计算属性(我认为)。元组将保持纬度/经度。当使用元组时,我想执行解析查询以检索lat / long。

我有点卡住将一个计算属性放在元组上。

这是我的代码。

var latAndlongTuple = (Double, Double)?
    {
        var query = PFQuery(className: "TableViewData")
        query.includeKey("EventLoc")
        query.findObjectsInBackgroundWithBlock{
            (objects: [AnyObject]!, error: NSError!) -> Void in

            if error == nil {

                for object in objects {
                    var EventLocation = object["EventLoc"] as PFObject!
                    EventLocation.fetchIfNeededInBackgroundWithBlock {
                        (EventLocation: PFObject!, error: NSError!) -> Void in
                        dispatch_async(dispatch_get_main_queue()) {

                            let longitude = EventLocation["Latitude"] as NSString
                            let latitude = EventLocation["Longitude"] as NSString
    }

func LocationCoordinate() -> MKCoordinateRegion
{
    let location = CLLocationCoordinate2D(latitude: latAndlongTuple.0 ,longitude: latAndlongTuple.1)
    let span = MKCoordinateSpanMake(0.001, 0.001)
    let region = MKCoordinateRegion(center: location, span: span)
    return region
}

因此,当执行函数LocationCoordinate时执行元组时,我希望解析代码在元组计算属性中运行。然后它用lat / long更新元组的片段。

有任何问题让我知道。

1 个答案:

答案 0 :(得分:0)

我是通过以下方式完成的:

 var latAndlongTuple:(lat : CLLocationDegrees, long : CLLocationDegrees)
        {
        get {
            return (52.606907, -1.104780)
        }

        }

而不是只返回2个值,我使用Parse来获取值,然后返回CLLocationDegree元组。