Question

In my app that works on iOS 5 and 6 I have an if statement:

NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:sourcePath];
if ([inputStream streamStatus] == NSStreamEventErrorOccurred){
[...]
}

On iOS 7 I get the following warning:

 Comparison of constant 'NSStreamEventErrorOccurred' with expression of type 
'NSStreamStatus' (aka 'enum NSStreamStatus') is always false

Any ideas on what's changed on iOS 7 regarding NSInputstream class? I would like to know why do I receive this warning now on iOS7.

Was it helpful?

Solution

iOS 7 is more particular with enum comparisons. The issue is that you're comparing an NSStreamStatus enumerated value to another, unrelated NSInputStreamEvent value. Instead, try:

NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:sourcePath];
if ([inputStream streamStatus] == NSStreamStatusError){
    [...]
}

This issue has nothing to do with iOS 7 per se, it's just an existing issue you've now discovered thanks to more meticulous warnings.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top