Предупреждение: сравнение константы 8 с выражением типа XXXX всегда ложно

Я ASIHTTPRequest в моем проекте,но в файле ASIDataCompressor.m строка 190:

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;
    }

Он предупреждает меня об этом:

Warning

кто-нибудь знает, как это исправить? thx

2 ответов


(NSStreamStatus)NSStreamEventErrorOccurred

редактировать

наверное, правильный способ справиться с этим-заменить NSStreamEventErrorOccurred С NSStreamStatusError. Это вероятно, что автор ASIHTTP задумано.


NSStreamEventErrorOccurred типа NSStreamEvent с постоянным значением 8. The streamStatus метод возвращает NSStreamStatus не NSStreamEvent и NSStreamStatus значения не превышают значение 7 вот почему вы получили ошибку. Вам повезло, что 8 превысил границы, и вы получили ошибку, потому что это не всегда так, поэтому вы всегда должны быть осторожны с типом возврата.