警告:恒8型XXXX的表达比较总是
问题描述:
我在项目中使用ASIHTTPRequest
假的,但在文件中ASIDataCompressor.m
行190
:警告:恒8型XXXX的表达比较总是
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;
}
它在警告我:
任何一个知道如何解决它? THX
答
(NSStreamStatus)NSStreamEventErrorOccurred
编辑
可能来处理这个正确的方法是用NSStreamStatusError
更换NSStreamEventErrorOccurred
。这可能是ASIHTTP的作者所期望的。
答
NSStreamEventErrorOccurred
的类型为NSStreamEvent
,恒定值为8
。 streamStatus
方法返回NSStreamStatus
而不是NSStreamEvent
和NSStreamStatus
值不会超过7
的值,这就是您遇到错误的原因。你幸运的是,8超出了界限,你得到了一个错误,因为情况并非总是如此,因此,你应该始终谨慎的返回类型。
简单而强大! – yellow
真的,这可能是ASIHTTP方面的糟糕的API。另外,如果这是一个新项目,我知道ASIHTTP已经被作者废弃了,所以你可能想考虑替代品,比如AFNetwork。然而,ASIHTTP功能非常全面。 – nielsbot
谢谢,我会尝试使用AFNetwork.https://github.com/AFNetworking/AFNetworking – yellow