2012-12-21 39 views
8

tôi đã sử dụng ASIHTTPRequest trong dự án của tôi, nhưng trong file ASIDataCompressor.m dòng 190:Cảnh báo: So sánh liên tục 8 với biểu hiện của loại XXXX luôn là sai

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

nó cảnh báo cho tôi này:

Warning

Bất kỳ ai biết cách khắc phục? thx

Trả lời

17

(NSStreamStatus)NSStreamEventErrorOccurred

chỉnh sửa

Có lẽ cách chính xác để xử lý này là để thay thế cho NSStreamEventErrorOccurred với NSStreamStatusError. Đó có lẽ là tác giả của ASIHTTP.

+0

đơn giản và mạnh mẽ! – yellow

+0

thực sự, đây có thể là API kém trên một phần của ASIHTTP. Ngoài ra, nếu đây là một dự án mới, tôi biết ASIHTTP đã bị lỗi thời bởi tác giả của nó, vì vậy bạn có thể muốn xem xét các lựa chọn thay thế, như AFNetwork. Tuy nhiên, ASIHTTP thực sự rất đầy đủ tính năng. – nielsbot

+0

cảm ơn bạn, tôi sẽ cố gắng sử dụng AFNetwork.https: //github.com/AFNetworking/AFNetworking – yellow

6

NSStreamEventErrorOccurred thuộc loại NSStreamEvent với giá trị không đổi là 8. Phương thức streamStatus trả lại giá trị NSStreamStatus không phải là NSStreamEventNSStreamStatus không vượt quá giá trị 7 đó là lý do bạn gặp lỗi. Bạn đã may mắn rằng 8 vượt quá giới hạn và bạn nhận được một lỗi vì đó không phải luôn luôn như vậy, do đó, bạn nên luôn luôn thận trọng với kiểu trả về.

+0

cảm ơn bạn, hãy cho tôi biết cách hoạt động của nó. Giá trị – yellow

+0

*> và NSStreamStatus không vượt quá giá trị 7 <* - Ah, đây là vấn đề đối với tôi. Xcode, bây giờ rất Swifty, đang hiển thị cảnh báo như thể enum là đầy đủ. Nhưng API mục tiêu-C vui vẻ trả lại các kết quả nằm ngoài phạm vi công khai khai báo. Trong trường hợp của tôi nó là 'NSEventSubtype'. – pkamb

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