Hallo,
meine App ist nach dem MVC aufgebaut, so meine ich es zumindest . Nun habe ich folgendes Schema:
TableViewController -> Controller -> SqliteExecution -> SqliteConnection.
Das heißt: Der TVC kennt meinen Controller den ich mir über das AppDelegate hole, der TVC ruft z.B. die Methode getKunden -> [Kunden] auf vom Controller. Der Controller kennt meine SqliteExecution, er ruft dort die Methode getKunden -> [NSArray] auf.
Und die SqliteExecution ruft von SqliteConnection execute -> [String] auf.
Solange alles Synchron läuft ist auch alles gut.
Jetzt habe ich aber das gleiche mit JSONExecution und JSONConnection nur das jetzt die Anfrage asynchron ist.
Spoiler anzeigen
Alles anzeigen
Ich weiß jetzt nicht, wie soetwas elegant zu lösen ist?! Wenn in Exectuion self.connection.request("123") aufgerufen wird, kommt das ergebnis nach kurzer Zeit bei didRecieveResponse an, aber ich würde gerne nach dem Aufruf das Ergebnis in getAllKunden in ein Kunden Object packen und das Objekt zurückgeben.
Wie macht man soetwas für geöhnlich?!
Gruß
meine App ist nach dem MVC aufgebaut, so meine ich es zumindest . Nun habe ich folgendes Schema:
TableViewController -> Controller -> SqliteExecution -> SqliteConnection.
Das heißt: Der TVC kennt meinen Controller den ich mir über das AppDelegate hole, der TVC ruft z.B. die Methode getKunden -> [Kunden] auf vom Controller. Der Controller kennt meine SqliteExecution, er ruft dort die Methode getKunden -> [NSArray] auf.
Und die SqliteExecution ruft von SqliteConnection execute -> [String] auf.
Solange alles Synchron läuft ist auch alles gut.
Jetzt habe ich aber das gleiche mit JSONExecution und JSONConnection nur das jetzt die Anfrage asynchron ist.
Quellcode
- JSONConnection
- //NSURLConnection delegate function
- func connectionDidFinishLoading(connection: NSURLConnection!) {
- var err: NSError?
- //Finished receiving data and convert it to a JSON objec
- var resultAsArray: NSMutableArray?
- let jsonResult: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err)
- if let dictionary = jsonResult as? NSDictionary {
- resultAsArray = NSMutableArray()
- resultAsArray?.addObject(dictionary)
- } else {
- if let array = jsonResult as? NSMutableArray {
- resultAsArray = array
- }
- }
- delegate?.didRecieveResponse(resultAsArray)
- }
Ich weiß jetzt nicht, wie soetwas elegant zu lösen ist?! Wenn in Exectuion self.connection.request("123") aufgerufen wird, kommt das ergebnis nach kurzer Zeit bei didRecieveResponse an, aber ich würde gerne nach dem Aufruf das Ergebnis in getAllKunden in ein Kunden Object packen und das Objekt zurückgeben.
Wie macht man soetwas für geöhnlich?!
Gruß