2012-07-16 30 views
7

Tôi đang cập nhật MGSplitViewController cho iOS 5.1 và tôi muốn được cảnh báo về việc sử dụng các phương pháp Mục tiêu-C không được chấp nhận. Thật không may, MGSplitViewController hỗ trợ iOS 3.2, vì vậy tôi muốn hỗ trợ tất cả các cuộc gọi lại không được chấp nhận, nhưng bỏ qua cảnh báo về chúng.Làm cách nào để tôi có thể bỏ qua cảnh báo của clang về việc sử dụng triển khai mục tiêu c không được chấp nhận?

Tôi đã kích hoạt cảnh báo về "trọng Không dùng nữa Objective-C Phương pháp" (CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS) trong cài đặt mục tiêu xây dựng của tôi, nhưng tôi không thể bỏ qua nó với

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 

Trả lời

18

CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS tương ứng với -Wdeprecated-implementations, mà Xcode doesn không hiển thị trong khu vực "Trợ giúp nhanh" của nó. Vì vậy, các công trình sau đây:

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-implementations" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 
+2

Một tùy chọn khác, nếu sửa đổi nguồn thực sự có thể không muốn, là tắt cảnh báo khi biên dịch các tệp cụ thể (như những tệp triển khai các lớp MGSplit). '-Không được hỗ trợ-triển khai' –

6

Ngoài ra còn có liên quan deprecated-declarations cờ. Điều này ngăn chặn các cảnh báo như "'foo' không được chấp nhận: đầu tiên không được chấp nhận trong OS X 10.10 - Sử dụng thanh thay thế".

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-declarations" 

    : 

#pragma clang diagnostic pop 
Các vấn đề liên quan