旧代码给出了"未使用的参数"错误,但现在从未有过

spa*_*der 8 parameters compiler-errors objective-c xcode4

我打开了一些旧的iOS代码,当我尝试构建它时,我得到一个"未使用的参数"错误代码如下:

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

这是我第一次看到Objective-C编译器为此吐出错误(而不是警告).由于很多iOS调用不一定使用传递参数(例子是很多回调),我需要帮助来摆脱这个.

Mic*_*ann 13

解决方案#1)

在Xcode项目的"Build Settings"中,有一个"Unused Parameters"参数.

重置YESNO. 未使用的参数警告

解决方案#2(Xcode 4提供):

在Xcode 4.3.2或更高版本中使用__unused.

(感谢Tim Bodeit的评论如下)

解决方案#3)

放入#pragma unused (searchBar)您的代码,最好是在声明函数的实现中的行下面.

IE

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
    #pragma unused (searchBar)
    NSLog(@"Search Bar isn't used in this function");
}
Run Code Online (Sandbox Code Playgroud)