с window.rootViewController переход между двумя точками зрения займет около 1 мин
У меня есть подключение к моему серверу, когда возвращение является успехом, я изменить свою rootViewControler, но это занимать очень много времени. если я перескажу код для подключения, представление появится немедленно?быстрый переход между двумя точками зрений занимает очень много времени
self.logingSpinner.startAnimating();
var request = NSMutableURLRequest(URL: NSURL(string: "http://apps/appsAuth")!)
var session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
var err: NSError?
var bodyData="siren=\(entrepriseId.text)&email=\(email.text)&pwd=\(pwd.text)";
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
request.HTTPMethod = "POST"
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
var err: NSError?
var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary
if(err != nil) {
println(err!.localizedDescription)
let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Error could not parse JSON: '\(jsonStr)'")
}
else {
if let parseJSON = json {
println("data retour \(parseJSON)")
var success = parseJSON["error"] as? Int
println("Succes: \(success)")
dispatch_async(dispatch_get_main_queue()) {
self.logingSpinner.stopAnimating();
bt.enabled = true;
bt.alpha = 1;
}
// si une erreur symfony est retournée
if(success==nil){ success = 3};
switch success!{
case 0:
println("auth success");
var data = userDefault.dictionaryForKey("userInfos")!
data["login"] = self.email.text;
data["siren"] = self.entrepriseId.text;
data["pwd"] = self.pwd.text;
data["isLogged"] = true;
data["hasCredential"] = true;
userDefault.setObject(data, forKey : "userInfos");
userDefault.synchronize();
//CHANGE root View Controller
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initViewController: UIViewController = storyBoard.instantiateViewControllerWithIdentifier("viewAcc") as accueilViewController
var window :UIWindow = UIApplication.sharedApplication().keyWindow!
window.rootViewController = initViewController
window.makeKeyAndVisible()
case 1 :
println("auth failed")
default :
println("default");
}
}
else {
// Woa, okay the json object was nil, something went worng. Maybe the server isn't running?
let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Error could not parse JSON: \(jsonStr)")
}
}
})
task.resume()
Я попытался с presentViewControler переход immediat, но мое изображение внутри вида disapear, только кнопка на месте?
спасибо заранее за помощь
никто помочь в этом? я застрял, я не знаю, почему с NSURLSession вид кажется запоздалым, некоторые процедуры должны хранить память, но в отладчике я не вижу большого потребления памяти, а сеть выпускает нормально. Я думаю, что это интернат для ios, но почему ???? – user2718075