Frage

Ich versuche die Bedeutung des von zurückgegebenen Werts zu verstehen [NSData writeToFile:options:error:].Die Methode gibt einen BOOL-Wert zurück, der laut Apple-Dokumentation „JA“ lautet, wenn der Vorgang erfolgreich ist, andernfalls NEIN.

Gut genug, aber wenn es NEIN ist, hätte ich angenommen, dass der Fehlerparameter dann auf einen abrufbaren NSError*-Wert gesetzt würde.Bei den Ergebnissen, auf die ich stoße, ist das jedoch nicht der Fall.Dementsprechend bin ich etwas verwirrt und weiß nicht, wie ich die Ursache des Fehlers ermitteln kann.

Das heißt, ich habe diesen Code (mehr oder weniger):

NSError* error = nil;
BOOL success = [data writeToFile: filePath error: &error];
if ( error )
    NSLog( @"error = %@", [error description] );

success erweist sich NO im Code, den ich ausführe, aber die NSLog Die Anweisung wird nie ausgeführt.Wie kommts?

Howard

War es hilfreich?

Lösung

Es ist möglich dass data Ist nil, in welchem ​​Fall [data writeToFile:error:] kehrt zurück nil, Aber *error ist nicht eingestellt.

Andere Tipps

Die WriteToFile -Methode kehrt auf Erfolg und falsch auf das Misserfolg zurück. Sie möchten tatsächlich überprüfen.

Also versuche:

if(!success)

Als Ihre bedingte statt von if (fehler).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top