Доброго времени суток!
Имеется 2 класса, мне надо что бы в ViewController class(main class) - записать координаты в переменные lat и log, что бы их использовать в других классах (как пример, создать класс с глобальными переменными и туда записывать все переменные), и что бы я мог к ним обращаться с других классов.
Во-втором классе, Json class(Json-class), мне нужно результат парсинга, в данном примере data - записать в label на main классе, но бьет критическую ошибку:
fatal error: unexpectedly found nil while unwrapping an Optional value
Так же, нужно записать значение data - что бы я смогу обращаться с других классов (можно тот же класс с глобальными переменными использовать)
Подскажите как мне все это реализовать
Заранее спасибо!)
import UIKit
import CoreLocation
//main class
class ViewController: UIViewController, CLLocationManagerDelegate{
@IBOutlet weak var labl: UILabel!
@IBAction func btn(sender: AnyObject) {
labl.text = Json().mess
}
var locationManager = CLLocationManager()
var lat: Double?
var log: Double?
override func viewDidLoad() {
super.viewDidLoad()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
Json().Pars()
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
var userLocation:CLLocation = locations [0] as! CLLocation
locationManager.stopUpdatingLocation()
let location = CLLocationCoordinate2D (latitude: userLocation.coordinate.latitude, longitude: userLocation.coordinate.longitude)
println(userLocation.coordinate.longitude)
println(userLocation.coordinate.latitude)
lat = userLocation.coordinate.latitude
log = userLocation.coordinate.longitude
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
println("error")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
import Foundation
//Json-class
class Json{
func Pars (){
let url = NSURL(string: "http://my.url.com")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in
if (error != nil){
println(error.localizedDescription)
}
var err: NSError?
let parseObj: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: &err)
if let json = parseObj as? NSDictionary{
if let response = json["response"] as? NSDictionary{
f let obj = response["Object"] as? NSDictionary{
if let data = obj["data"] as? NSString {
println(data)//вывод данных
ViewController().labl.text = data //на этом моменте бьет критическую ошибку fatal error: unexpectedly found nil while unwrapping an Optional value
}
}
}
}
})
task.resume()
}
}