• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

NSURLDownload abbrechen

Wie ich es sehe (ich bin aber nur Gelegenheits-ObjC-Programmierer): "_down" ist i.d.R. die Instanzvariable zur Property "down".
Besser ist natürlich, die Property als self.down anzusprechen.

Und zu
Code:
setDeletesFileUponFailure: NO;
Das ist eine Property der Klasse NSURLDownload, d.h. Du solltest sie nach der Initialisierung von down setzen; nach dem cancel macht sie keinen Sinn.
 
Jein. Er hat sie nicht als property angelegt. Daher würde in dem Fall self.down nicht funktionieren. Er hat sie direkt als "_down" angelegt. Daher muss sie dann auch so angesprochen werden. Generell wäre es aber vermutlich schöner, sie tatsächlich als property anzulegen, wobei hier der andere Weg auf jeden Fall auch geht.

Zum anderen: Genau, so sehe ich das auch. Das dürfte so nicht kompilieren. Versuch es mal mit
[_down setDeletesFileUponFailure: NO];
 
In der AppDelegate.m habe ich nun folgendes geändert. Jedoch kommt es immer noch nicht zu einem Wunder :(

Code:
        NSURLDownload *_down = [[NSURLDownload alloc] initWithRequest:request delegate:cellViewController];
        [_down setDeletesFileUponFailure: NO];
 
Zu "setDeletesFileUponFailure": Kompiliert er denn mit dieser Zeile überhaupt? Denn so, wie es da steht, darf es eigentlich nicht gehen.


Konnte es noch nicht testen, ob es geht. Jedenfalls zeigt mir Xcode keinen Fehler an. Wenn der Code nicht kompiliert werden würde, dann hätte ich doch in Xcode den Hinweis "Code will never be executed"?
 
Das "NSURLDownload *" vor _down kannst du weglassen, da die Klasse ja schon ganz oben in der Datei festgelegt wurde.

So wirklich klar ist mir dann aber nicht, warum es nicht funktionieren sollte. Allerdings könnte der Fehler auch ganz woanders liegen. Ich empfehle wirklich den systematisch Einstieg in die Sprache und nicht den Versuch, mal eben einen Browser zu programmieren, obwohl die Grundlagen der Sprache fehlen.
 
In der AppDelegate.m habe ich nun folgendes geändert. Jedoch kommt es immer noch nicht zu einem Wunder :(

Code:
        NSURLDownload *_down = [[NSURLDownload alloc] initWithRequest:request delegate:cellViewController];
        [_down setDeletesFileUponFailure: NO];

So wie es da steht, ist es auch falsch, da Du nun eine zweite Variable mit dem Namen "_down" als lokale Variable in einer Methode anlegst, obwohl Du bereits eine Instanzvariable mit dem gleichen Namen hast.

Da es offenbar bereits Probleme mit dem Verständnis gibt, wie man Variablen in einer Klasse verwendet, würde ich auch empfehlen, erst einmal die Grundlagen von Objective-C zu erlernen.