Ich bin mir sicher, ich mache etwas Dummes, aber das macht mich verrückt.
Ich versuche, Datenbankergebnisse zu durchlaufen, Objekte aus diesen Ergebnissen zu erstellen und die Objekte einem NSMutableArray hinzuzufügen. Ich habe über NSLog-Aufrufe verifiziert, dass die Daten korrekt aus der Datenbank gelesen und in das Objekt kopiert werden, aber die Anzahl für NSMutableArray immer gibt 0 zurück.
Hier ist die Essenz des Codes:
%Vor%Kana ist von NSObject abgeleitet, und Hiragana ist eine Instanz von NSMutableArray.
Ich bin mir sicher, dass das ein Anfängerfehler ist, und ich hoffe, dass mich jemand zurechtweisen kann. TIA! :)
Nach dem von Ihnen geposteten Code ist es wahrscheinlich, dass Sie Ihr Array wahrscheinlich nicht richtig zuordnen. Wenn Sie Objekte erstellen, müssen Sie sie ebenfalls initialisieren. Deshalb:
%Vor%Sollte sein:
%Vor%Alle Objekte müssen auf diese Weise initialisiert werden. Wenn ich also richtig bin und Sie Ihr Array nicht initialisiert haben, muss Ihre Erstellung davon ausgehen:
%Vor%dazu:
%Vor%Aus Gründen der Optimierung sollten Sie wahrscheinlich auch eine Anfangskapazität angeben, wenn Sie eine Vorstellung davon haben, wie viele Objekte Sie halten könnten:
%Vor% Eine andere häufige Ursache (nicht in Ihrem Fall, wie sich herausstellt, sondern generell) ist, das Array sogar zu reservieren. Wenn Sie noch kein Array erstellt haben, senden Sie diese Nachricht count
an nil
, sodass das Ergebnis immer 0 ist.
Ein paar Dinge:
Es ist sehr wahrscheinlich, dass Sie das Array nicht korrekt erstellt haben oder rs nicht enthält, was Sie erwarten, und so wird [rs next] nicht immer aufgerufen (wenn rs null ist, z. B. no Iterationen dieser Schleife würden ausgeführt werden und Sie hätten keine Art von Fehler).
Tags und Links objective-c cocoa