2013-08-05 36 views
5

Trong ứng dụng của tôi hoạt động trên iOS 5 và 6 tôi có một tuyên bố if:iOS7 so sánh liên tục với biểu luôn luôn là sai

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

Trên iOS 7 tôi nhận được cảnh báo sau đây:

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

Mọi ý tưởng về những gì đã thay đổi trên iOS 7 liên quan đến lớp học NSInputstream? Tôi muốn biết tại sao tôi nhận được cảnh báo này ngay trên iOS7.

+0

iOS 7 vẫn còn trong NDA, điều này hạn chế chúng ta nói về nó bên ngoài diễn đàn nhà phát triển. Bạn có thể không nhận được nhiều câu trả lời như bạn có thể nhận được trên diễn đàn Nhà phát triển Apple. – rckoenes

Trả lời

16

iOS 7 cụ thể hơn với các so sánh enum. Vấn đề là bạn đang so sánh giá trị được liệt kê NSStreamStatus với giá trị khác, giá trị NSInputStreamEvent không liên quan. Thay vào đó, hãy thử:

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

Vấn đề này không liên quan gì đến iOS 7, đây chỉ là vấn đề hiện tại bạn đã phát hiện nhờ cảnh báo tỉ mỉ hơn.

Các vấn đề liên quan