• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das Monatsmotto Juli lautet -- Kitsch as Kitsch can -- Jeder von Euch kann dafür ganz individuell bestimmen, was für ihn Kitsch ist und ein Foto davon einsenden. Macht mit, traut Euch! --> Klick

IPhone SQLite Statements

DeLue

Erdapfel
Registriert
25.11.08
Beiträge
2
<div class="bbWrapper">Hi,<br /> ich entwickle Apps für´s IPhone, benutze für die Datenhaltung SQLite und habe folgendes Problem:<br /> In einer Rekursionsmethode (ist leider notwendig) werden in einer Schleife die Results einer select-Abfrage verarbeitet. Aus der Schleife heraus wird dann nach Bedarf die Methode recursiv aufgerufen. Soweit funzt alles. Wenn die Rekursion abgeschlossen ist, Finalisiere ich das SQLite-Statement mit finalize. Trotzdem bekomme ich beim Beenden der App die Fehlermeldung, dass die DB nicht geschlossen werden kann, da das Statement nicht finalisiert wurde. Ich wäre mächtig dankbar für einen Hinweis.</div>
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
<div class="bbWrapper"><blockquote data-attributes="" data-quote="DeLue" data-source="post: 1840572" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1840572" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1840572">DeLue schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> In einer Rekursionsmethode (ist leider notwendig) </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Nein. Falls Du keine Ackermann Funktion programmierst, ist sie das nicht. Vielleicht hilft es, wenn Du auf Iteration umbaust<br /> <blockquote data-attributes="" data-quote="DeLue" data-source="post: 1840572" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1840572" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1840572">DeLue schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Soweit funzt alles. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Das tut mir leid<br /> <blockquote data-attributes="" data-quote="DeLue" data-source="post: 1840572" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1840572" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1840572">DeLue schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Wenn die Rekursion abgeschlossen ist, Finalisiere ich das SQLite-Statement mit finalize. Trotzdem bekomme ich beim Beenden der App die Fehlermeldung, dass die DB nicht geschlossen werden kann. </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote><br /> Das kann alles mögliche sein. Prüftst Du alle Result Werte? Es kann ein dummer Fehler, oder ein Designfehler sein.<br /> <br /> Kannst Du mal Code posten? <br /> <br /> Alex</div>
 

DeLue

Erdapfel
Registriert
25.11.08
Beiträge
2
<div class="bbWrapper"><blockquote data-attributes="" data-quote="below" data-source="post: 1841525" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=1841525" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-1841525">below schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> Nein. Falls Du keine Ackermann Funktion programmierst, ist sie das nicht. Vielleicht hilft es, wenn Du auf Iteration umbaust<br /> <br /> Das tut mir leid<br /> <br /> <br /> Das kann alles mögliche sein. Prüftst Du alle Result Werte? Es kann ein dummer Fehler, oder ein Designfehler sein.<br /> <br /> Kannst Du mal Code posten? <br /> <br /> Alex </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote><br /> Vielen Dank für die schnelle Antwort.<br /> Ich habe es mit einer Iteration versucht und dabei festgestellt, dass auch hier ein finalize-Problem auftaucht. Auf der Suche danach fand ich heraus, dass die dealloc-Methode im Delegate nicht abgearbeitet wurde. Wenn ich dies explizit befehle, können die Statements finalisiert werden. Aber ein expliziter Aufruf der dealloc-Methode ist ja eigentlich nicht notwendig. Ich werde also noch einen Fehler haben, den ich suchen muss.</div>
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
<div class="bbWrapper">Regel Nummer Eins:<br /> <br /> In eine dealloc Methode gehört nur das Aufräumen des Speichers, <b>sonst nichts!</b><br /> <br /> Solche Seiteneffekte wie Dein Finanlize gehören da definitiv NICHT rein. Gerade bei Delegates weiss man nicht immer, wann sie deallziert werden.<br /> <br /> Alex</div>