Ich habe eine UITableView, wo ich Daten von einem Remote-Server eins nach dem anderen herunterladen, wenn die Zellen angezeigt werden.Eine NSOperationQueue pro Zelle oder pro UIViewController?
Ist es sicher, eine NSOperationQueue pro Zelle zu erstellen? Ich bin besorgt, dass dies eine Thread-Explosion auslösen könnte (wenn es zu viele Threads gibt). Die NSOperationQueue pro Zelleninstanz lässt sich einfacher entwickeln, da nach der Wiederverwendung der Zelle alle Operationen auf der NSOperationQueue abgebrochen werden können.
Im Gegensatz dazu kann ich, wenn ich eine NSOperationQueue pro UIViewController verwende, die NSOperationQueue an die Zelle übergeben, und die Zelle kann ihre NSOperation zu dieser Warteschlange hinzufügen. Aber ich muss auf irgendeine Weise so umgehen, dass ich diesen Vorgang abbrechen kann, wenn die Zelle wiederverwendet wird (Speicherverweis auf die NSOperation in einem Wörterbuch innerhalb des UIViewControllers, etc.).
Die meisten Tutorials haben eine NSOperationQueue im UIViewController, aber ich habe gesehen, wo er eine NSOperationQueue für jede Zelle verwendet.
das beste Beispiel https://developer.apple.com/library/ios/samplecode/LazyTableImages/Introduction/Intro.html von Apple einfach folgen. –
hey @MikeAlter hast du andere Gründe, nicht nur, weil der Apple-Beispielcode diesen Ansatz verwendet, oder andere Tutorials verwenden auch diesen Ansatz? Danke –
Ich habe dieses Beispiel implementiert, die Art und Weise des Aufrufs von ws und das Herunterladen von Bildern ist großartig und auch die Leistung freundlich –