2012-12-21 12 views
8

ich ASIHTTPRequest in meinem Projekt verwendet, aber in der Datei ASIDataCompressor.m Linie 190:Achtung: Vergleich des konstanten 8 mit der Expression von Typ XXXX ist immer falsch

if ([inputStream streamStatus] == NSStreamEventErrorOccurred) { 
     if (err) { 
      *err = [NSError errorWithDomain:NetworkRequestErrorDomain code:ASICompressionError userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"Compression of %@ failed because we were unable to write to the destination data file at %@",sourcePath,destinationPath],NSLocalizedDescriptionKey,[outputStream streamError],NSUnderlyingErrorKey,nil]]; 
     } 
     [compressor closeStream]; 
     return NO; 
    } 

es warnend mir diese:

Warning

Kann jemand es beheben? thx

Antwort

17

(NSStreamStatus)NSStreamEventErrorOccurred

bearbeiten

Wahrscheinlich der richtige Weg, dies zu handhaben ist die NSStreamEventErrorOccurred mit NSStreamStatusError zu ersetzen. Das ist wahrscheinlich der Autor von ASIHTTP.

+0

einfach und leistungsstark! – yellow

+0

wirklich, das ist wahrscheinlich schlechte API seitens ASIHTTP. Auch wenn es sich um ein neues Projekt handelt, weiß ich, dass ASIHTTP vom Autor veraltet ist. Daher sollten Sie Alternativen wie AFNetwork in Betracht ziehen. ASIHTTP ist jedoch wirklich voll ausgestattet. – nielsbot

+0

danke, ich werde versuchen, AFNetwork.https zu verwenden: //github.com/AFNetworking/AFNetworking – yellow

6

NSStreamEventErrorOccurred ist vom Typ NSStreamEvent mit einem konstanten Wert von 8. Die streamStatus Methode gibt einen NSStreamStatus nicht NSStreamEvent zurück und NSStreamStatus Werte überschreiten nicht einen Wert von 7, weshalb Sie den Fehler erhalten haben. Sie hatten Glück, dass 8 die Grenzen überschritten hat und Sie haben einen Fehler bekommen, weil das nicht immer der Fall ist, deshalb sollten Sie immer auf den Rückgabetyp achten.

+0

danke, lass mich wissen, wie es funktioniert. – yellow

+0

*> und NStreamStatus Werte überschreiten nicht den Wert 7 <* - Ah, das ist das Problem für mich. Xcode, jetzt sehr Swifty, zeigt die Warnung an, als ob die Enum erschöpfend ist. Aber die Objective-C-API gibt Ergebnisse zurück, die außerhalb des Bereichs der deklarierten öffentlichen Enumeration liegen. In meinem Fall ist es 'NSEventSubtype'. – pkamb