NSFetchResultController zum Anzeigen von Datensätzen auf einer Apple Watch?

9

Kann ich NSFetchResultController auf einer Apple Watch verwenden, um 80 bis 90 Datensätze in einer Tabelle anzuzeigen?

Ich verwende " WKInterfaceTable+IGInterfaceDataTable ", um Datenquellen vom Typ "Datenquelle" zu verwenden, weil mir das einfacher erscheint als NSArray .

Wird NSFetchResultController helfen, die Effizienz zu erhöhen, oder wird es langsamer?

    
Iqbal Khan 08.04.2015, 07:38
quelle

3 Antworten

1

Ich habe festgestellt, dass NSFetchResultController in der iWatch-App überhaupt nicht nützlich ist, weil WKInterfaceTable die Delegate-Methode zum Bearbeiten, Ändern oder Löschen für eine einzelne Zeile, die NSFetchResultController im Delegate unterstützt, nicht unterstützt. Sie müssen also alle Daten aktualisieren, die Sie jedes Mal anzeigen möchten, damit ich sie nicht verwenden kann.

    
Iqbal Khan 13.04.2015 07:15
quelle
1

Ich habe NSFetchedResultController und WKInterfaceTable für meine Apple Watch-Anwendung verwendet. Es ist wahr, dass es nicht so bequem wie ein UITableViewController ist, aber es ist sehr machbar. Ich habe keine Performance-Probleme, auch nicht beim Laden von 20+ Zeilen (nicht 80-90). Natürlich ist das im Simulator, daher weiß ich nicht, wie sich die Geräte verhalten werden.

Einfügen, aktualisieren und löschen Sie müssen sich selbst implementieren, ist aber nicht so schwer.

Unten ein Teil meines Codes in der InterfaceController, mit Einfügen als Beispiel, aber Bearbeiten und Löschen ist nicht schwieriger:

Schnittstelle

%Vor%

Implementierung

Das Abrufen ist das gleiche wie immer, nur dass wir dem resultcontroller keinen Delegaten zuweisen, sondern die Daten direkt speichern:

%Vor%

Ich verwende dann eine Funktion loadTableData :

%Vor%

Was configureRowControllerAtIndex aufruft, eine Funktion, die eine Zeile auffüllt (ich habe zwei Labels):

%Vor%

Wenn Sie eine neue Zeile einfügen, fügen Sie sie einfach manuell in managedObjectContext und im Datenarray hinzu:

%Vor%

und speichern Sie den managedObjectContext regelmäßig:

%Vor%     
Wouter 16.04.2015 16:24
quelle
0

Das NSFetchedResultsController , das mit WKInterfaceTable arbeitet, ist ein PITA. Hell, Mapping von einfachen Arrays / Wörterbüchern von Daten zu WKInterfaceTable saugt. Wir haben eine einfache Bibliothek erstellt und geöffnet, um dies zu vereinfachen, indem wir die API zumindest so aussehen lassen wie UITableView . Hatte nur Hilfe von außen, die Unterstützung für NSFetchedResultsController hinzufügte. Hoffentlich kann das in Zukunft helfen!

Ссылка

    
rnystrom 02.06.2015 01:45
quelle