2013-08-05 9 views
5

In meiner Anwendung, die auf iOS 5 und 6 arbeitet Ich habe eine if Aussage:iOS7 Vergleich der konstant mit Ausdruck ist immer falsch

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

auf iOS 7 bekomme ich die folgende Warnung:

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

Irgendwelche Ideen auf, was auf iOS 7 in Bezug auf NSInputstream Klasse geändert? Ich möchte wissen, warum ich diese Warnung erhalten jetzt auf iOS7.

+0

iOS 7 ist immer noch unter NDA, die uns davon abhalten, darüber außerhalb des Entwicklerforums zu sprechen. Sie erhalten möglicherweise nicht so viele Antworten, wie Sie vielleicht im Apple Developers Forum erhalten. – rckoenes

Antwort

16

iOS 7 ist insbesondere mit Enum Vergleiche. Das Problem ist, dass Sie einen NSStreamStatus aufgezählt Wert zum anderen sind zu vergleichen, ohne Bezug NSInputStreamEvent Wert. Stattdessen versuchen:

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

Dieses Problem hat nichts mit iOS 7 per se zu tun, es ist nur ein existierendes Problem, das Sie haben jetzt dank akribische Warnungen entdeckt.

Verwandte Themen