Core Data - Prädikat mit Daten

8

Ich bin ratlos, wenn ich versuche, ein Prädikat für "Kürzlich abgeschlossene" Aufgaben zu schreiben, d. h. die Aufgabe anzuzeigen, wenn sie innerhalb der letzten sieben Tage abgeschlossen wurde. Ich denke, ich muss etwas wie das tun: "wenn JETZT & lt; dateCompleted + 7 Tage".

Das dateCompleted ist ein Attribut in der Tabelle, aber ich bin mir nicht sicher, wie ich seinen Wert erhalten soll, und füge dem Prädikat 7 Tage hinzu. Ich denke, ich muss den Attributwert zuerst holen, bevor ich das NSPredicate schreibe, aber wie? Ich habe zu diesem Zeitpunkt keinen Zugriff auf das managedObject.

Dies könnte die Lösung schließen, aber ich kann nicht herausfinden, wie man "oneWeek" definiert, und ich glaube nicht, dass Sie einfach Werte hinzufügen können, wenn Sie das Prädikat definieren:

%Vor%     
Z S 25.07.2011, 07:04
quelle

3 Antworten

17

Du bist fast da.

Zuerst müssen Sie Ihren Datumsbereich definieren. Um dies zu tun, sollten Sie mit dem heutigen Datum beginnen und dann Tage im Wert von Wochen hinzufügen, um das Ende des gültigen Bereichs zu finden. Sobald Sie diesen Bereich haben, können Sie Ihr Prädikat erstellen, um alle Aufgaben mit einem Fälligkeitsdatum & gt; = start und & lt; = end zu finden. Hier ist ein Auszug aus einem Code, den ich geschrieben habe, um etwas sehr ähnliches zu tun ...

%Vor%     
mmccomb 25.07.2011, 08:09
quelle
0

Um eine Woche vor Daten von heute zu bekommen. schneller Code

%Vor%

In meinem Fall habe ich einen Wert für den Zeitstempel des Posts in meiner coreData DB, daher verwende ich die Funktion unterhalb, um auch den Zeitstempelwert

zu erhalten %Vor%     
Hardik.T 21.03.2017 11:26
quelle
-1

Um den Start des Tages zu bekommen, könnten Sie:

verwenden %Vor%

und um das Enddatum zu erhalten:

%Vor%     
Szilto 04.02.2015 19:58
quelle