8

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

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

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

4

1 回答 1

13

解决方案#1)

在您的 Xcode 项目的“构建设置”中,有一个用于“未使用参数”的参数。

将其从 重置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");
}
于 2012-04-04T17:08:17.157 回答