Ich habe mich gefragt, welches das richtige Design ist, um:
einen API-Aufruf durchzuführen
ein Modell davon zu erstellen Ergebnis
Laden Sie das Bild des Modells
Warten Sie, bis alles geladen ist ... und aktualisieren Sie dann die Benutzeroberfläche
Ich habe (verschachtelte) Delegation und verwendet eine dispatch_group, aber ich bin sicher, Sie haben vielleicht ein paar Tipps, wie man das richtig macht, nicht wahr?
Hier ist mein Arbeitscode: View Controller
Ich habe mich gefragt, welches das richtige Design ist, um: [list] [*]einen API-Aufruf durchzuführen [*]ein Modell davon zu erstellen Ergebnis [*]Laden Sie das Bild des Modells [*]Warten Sie, bis alles geladen ist ... und aktualisieren Sie dann die Benutzeroberfläche [/list] Ich habe (verschachtelte) [b]Delegation[/b] und verwendet eine [b]dispatch_group[/b], aber ich bin sicher, Sie haben vielleicht ein paar Tipps, wie man das richtig macht, nicht wahr? Hier ist mein Arbeitscode: [b]View Controller[/b] [code]@IBAction func loadLoaction(sender: AnyObject) { placeManager.loadRandomLoaction(lat, longitude: long) }
extension Alamofire.Request { class func imageResponseSerializer() -> Serializer { return { request, response, data in if data == nil { return (nil, nil) }
let image = UIImage(data: data!, scale: UIScreen.mainScreen().scale)
public protocol PlaceDelegate: class { func placeDidLoad(place: Place) }
public class Place : NSObject {
var delegate: PlaceDelegate?
public var name: String? public var category: String? public var image_url: String? public var snippet_text: String? public var address: String? public var distance: String? public var url: String? public var image: UIImage = UIImage()
// Dispatch if success dispatch_group_notify(self.dispatch_group, dispatch_get_main_queue(), { self.delegate?.placeDidLoad(self) })
}
// (3) Load the image func loadImage() { dispatch_group_enter(self.dispatch_group);
var request:Alamofire.Request = Alamofire.request(.GET, self.image_url!).responseImage() { (request, _, image, error) in if error == nil && image != nil { NSLog("imageRequestSuccess")
self.image = image!
// Dispatch if success dispatch_group_leave(self.dispatch_group) } else { NSLog("imageRequestFailure")
// Dispatch also to handle failure dispatch_group_leave(self.dispatch_group) } } } }
public protocol PlaceManagerDelegate: class { func placeDidLoad(place: Place) }
public class PlaceManager : NSObject, PlaceDelegate {
public weak var delegate: PlaceManagerDelegate?
var isLoading = false
enum Router: URLRequestConvertible { static let baseURLString = "http://api.domain.com"
// Endpoints case RandomPlace(lat:Double, long:Double)
var URLRequest: NSURLRequest { let (path: String, parameters: [String: AnyObject]) = { switch self { case .RandomPlace (let lat, let long): let params : [ String : AnyObject] = ["ll": "\(lat),\(long)", "", "debug":"true"] return ("/getRandomLocation", params) } }()
let URL = NSURL(string: Router.baseURLString) let URLRequest = NSURLRequest(URL: URL!.URLByAppendingPathComponent(path)) let encoding = Alamofire.ParameterEncoding.URL
Meine aktuelle Lösung lautet wie folgt: Ich möchte wissen, ob dies korrekt ist.
Innerhalb einer HttpPost-Aktionsmethode habe ich den folgenden Code: Case Typ ist eine Entität, die Variable case wird...
Ich lerne etwas über Spring Boot und versuche, die Sicherheitsfilterkette mit JWT zu konfigurieren.
Ich stehe vor einem Problem, bei dem immer 403-Fehler zurückgegeben werden. Wenn ich beispielsweise...
Ich habe mir in letzter Zeit die Goroutinen von Go angesehen und dachte, es wäre schön, etwas Ähnliches in Java zu haben. Soweit ich gesucht habe, besteht die übliche Methode zum Parallelisieren...
Ich muss eine Reihe von Webseiten durchsuchen. Diese Webseiten haben Adressen, die sich nur in der Seitennummer unterscheiden, und können daher parallel mit aiohttp verarbeitet werden.
Jetzt verwende...
Ich habe ein Quiz erstellt, das alle Fragen aus der Moodle-Datenbank abruft, aber wenn sich an der Frage etwas ändert, erstellt Moodle eine weitere Kopie dieser Frage. Jetzt kann ich die neue Kopie...