2012-04-04 29 views
8

Tôi đã mở ra một số mã iOS cũ và khi tôi cố gắng xây dựng nó, tôi nhận được một lỗi "tham số chưa sử dụng" cho mã như thế này:Cũ đang cung cấp cho "không sử dụng tham số" lỗi nhưng không bao giờ có từ trước đến giờ

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { 
    NSLog(@"Search Bar isn't used in this function"); 
} 

Đây là lần đầu tiên tôi nhìn thấy một trình biên dịch Objective-C nhổ ra các lỗi (không phải cảnh báo) cho việc này. Vì rất nhiều cuộc gọi trên iOS không nhất thiết phải sử dụng các đối số đi qua (ví dụ là nhiều cuộc gọi lại), tôi cần trợ giúp để loại bỏ điều này.

Trả lời

13

Giải pháp # 1)

Trong "Cài đặt xây dựng" của dự án Xcode, có tham số cho "Tham số không sử dụng".

Đặt lại từ YES thành NO. Unused Parameters Warnings

Giải pháp # 2 (có sẵn với Xcode 4):

Trong Xcode 4.3.2 hoặc cao hơn sử dụng __unused.

(THANKS to Tim Bodeit's comment below)

Giải pháp # 3)

Đặt #pragma unused (searchBar) trong mã của bạn, tốt nhất là ngay bên dưới dòng trong việc thực hiện của bạn, nơi hàm được khai báo.

I.E.

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { 
    #pragma unused (searchBar) 
    NSLog(@"Search Bar isn't used in this function"); 
} 
+0

Xin chào Michael, cài đặt XCode cho cảnh báo tham số không sử dụng đã đọc 'KHÔNG'. Tôi thực sự hy vọng không phải tiêm mã ở khắp mọi nơi. Có một số trình biên dịch khác (hoặc khác) thiết lập tôi có thể nhìn vào? – sparkFinder

+0

Cài đặt có đọc "KHÔNG" trong cột Đã giải quyết cho mục tiêu *** của bạn không (không chỉ dự án)? Ngoài ra, bạn có "xử lý cảnh báo là lỗi" được đặt thành có trong cài đặt dự án hoặc mục tiêu của mình không? –

+0

Nó được liệt kê là 'KHÔNG' trong mỗi cột cho cả dự án và mục tiêu. Hãy coi cảnh báo là lỗi được đặt thành 'KHÔNG' trong cả hai. – sparkFinder

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