2015-09-19 2 views
0

У меня есть рабочий стол и проект с подробным представлением. Но он основан на локальной системе массива .plist. Я хочу изменить ее на удаленную систему .json array. Я пытаюсь что-то делать, но дает ошибки. Мне нужна ваша экспертная помощь! рабочий код под. Ty.Swift 2 .plist dictArray to Remote Json Array Error

import Foundation 
import MapKit 

struct VacationSpot { 
    let identifier: Int 
    let name: String 
    let locationName: String 
    let thumbnailName: String 
    let whyVisit: String 
    let whatToSee: String 
    let weatherInfo: String 
    let userRating: Int 
    let wikipediaURL: NSURL 
    let coordinate: CLLocationCoordinate2D 
} 

// MARK: - Support for loading data from plist 

extension VacationSpot { 

    static func loadAllVacationSpots() -> [VacationSpot] { 
    return loadVacationSpotsFromPlistNamed("vacation_spots") 
    } 

    private static func loadVacationSpotsFromPlistNamed(plistName: String) -> [VacationSpot] { 
    guard 
     let path = NSBundle.mainBundle().pathForResource(plistName, ofType: "plist"), 
     let dictArray = NSArray(contentsOfFile: path) as? [[String : AnyObject]] 
     else { 
     fatalError("An error occurred while reading \(plistName).plist") 
    } 




    var vacationSpots = [VacationSpot]() 

    for dict in dictArray { 
     guard 
     let identifier = dict["identifier"] as? Int, 
     let name   = dict["name"]   as? String, 
     let locationName = dict["locationName"] as? String, 
     let thumbnailName = dict["thumbnailName"] as? String, 
     let whyVisit  = dict["whyVisit"]  as? String, 
     let whatToSee  = dict["whatToSee"]  as? String, 
     let weatherInfo = dict["weatherInfo"] as? String, 
     let userRating = dict["userRating"] as? Int, 
     let wikipediaLink = dict["wikipediaLink"] as? String, 
     let latitude  = dict["latitude"]  as? Double, 
     let longitude  = dict["longitude"]  as? Double 
     else { 
      fatalError("Error parsing dict \(dict)") 
     } 

     let wikipediaURL = NSURL(string: wikipediaLink)! 
     let coordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 
     let vacationSpot = VacationSpot(
     identifier: identifier, 
     name: name, 
     locationName: locationName, 
     thumbnailName: thumbnailName, 
     whyVisit: whyVisit, 
     whatToSee: whatToSee, 
     weatherInfo: weatherInfo, 
     userRating: userRating, 
     wikipediaURL: wikipediaURL, 
     coordinate: coordinate 
    ) 

     vacationSpots.append(vacationSpot) 
    } 

    return vacationSpots 
    } 
} 
+0

Какие ошибки у вас возникают? – Stefan

+0

@Stefan я сделал ошибку кодирования сейчас у меня нет истинного кода :( –

ответ

0

разрешено с одинаковыми кодами.

let wikipediaURL = NSURL(string: wikipediaLink)! 
     let coordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude) 
     let vacationSpot = VacationSpot(
     identifier: identifier, 
     name: name, 
     locationName: locationName, 
     thumbnailName: thumbnailName, 
     whyVisit: whyVisit, 
     whatToSee: whatToSee, 
     weatherInfo: weatherInfo, 
     userRating: userRating, 
     wikipediaURL: wikipediaURL, 
     coordinate: coordinate 
    )