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

时间:2012-04-04 17:06:18

标签: objective-c xcode4 parameters compiler-errors

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

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

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

1 个答案:

答案 0 :(得分:13)

解决方案#1)

在您的Xcode项目"构建设置"中,有"未使用参数"的参数。

将其从YES重置为NOUnused Parameters Warnings

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

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

(THANKS to Tim Bodeit's comment below)

解决方案#3)

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

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