• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

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.