2012-04-03 21 views
8

Tôi nhận được cảnh báo chủ đề trên dòng sau:Cảnh báo: chưa thực hiện Selector localizedCaseInsensitiveCompare

NSSortDescriptor * sort = [ [NSSortDescriptor alloc] initWithKey:@"name" 
           ascending:YES 
            selector:@selector(localizedCaseInsensitiveCompare:) ]; 

Và tôi đã không luôn luôn nhận được cảnh báo đó. Đó là, cảnh báo vừa mới bắt đầu xuất hiện gần đây, có thể do thay đổi trong cài đặt biên dịch. Tôi không thấy lỗi đánh máy, ở đây. Điều này trông (đối với tôi) giống như mã tôi đã thấy trong nhiều ví dụ. Tôi không thấy ngoại lệ thời gian chạy. Nhưng tôi không thích cảnh báo. Bất cứ ai nhìn thấy điều này? Bất kỳ ý tưởng gì đang kích hoạt nó?

Trả lời

14

Bạn đã bật -Wselector chưa? (Còn được gọi là "Multiple Definition Types for Selector.") Cảnh báo này không tương thích với Foundation và bạn không nên bật nó lên. Nó tồn tại bởi vì nó có ý nghĩa trong "thuần" Objective-C. Chỉ cần không có trong bất kỳ mục tiêu-C bạn đã bao giờ có khả năng viết (tức là bất cứ điều gì mà sử dụng ca cao).

Cảnh báo bạn muốn là -Wundeclared-selector, còn được gọi là "Công cụ chọn không khai báo".

Đó là hơi ngày, nhưng tôi đã biên soạn một danh sách đầy đủ các cảnh báo GCC và có bật hoặc tắt chúng trong tệp Shared.xcconfig của tôi hay không. Ngoài ra còn có một số very helpful bestiary compiled by Jean-David Gadina được cập nhật thêm một chút.

+0

Điều đó đã xảy ra. Cảm ơn. – DRVic

+0

Hi @Rob Napier, tôi vừa cập nhật lên xcode 5 và tôi nhận được cảnh báo "Selector not found", Như bạn đề nghị tôi đã chọn tùy chọn "Multiple Definition Types for Selector", và nó đã được đặt thành NO. Nhưng tôi vẫn nhận được cảnh báo. Vậy lam gi. – Ranjit

+0

Đó là một cảnh báo khác với câu hỏi này. Nếu bạn nhận được cảnh báo đó sau khi nâng cấp, điều đó gợi ý rằng bạn đang sử dụng một phương thức đã bị xóa. Bạn nên mở một câu hỏi mới với các chi tiết về phương pháp bạn đang sử dụng, SDK bạn đang sử dụng và cảnh báo chính xác (mặc dù tôi sẽ bắt đầu bằng cách xác minh rằng phương thức thực sự tồn tại). –

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