我打开了一些旧的 iOS 代码,当我尝试构建它时,我收到如下代码的“未使用参数”错误:
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
NSLog(@"Search Bar isn't used in this function");
}
这是我第一次看到 Objective-C 编译器为此吐出错误(不是警告)。由于很多 iOS 调用不一定使用传递参数(例如很多回调),我需要帮助来摆脱这个。
我打开了一些旧的 iOS 代码,当我尝试构建它时,我收到如下代码的“未使用参数”错误:
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
NSLog(@"Search Bar isn't used in this function");
}
这是我第一次看到 Objective-C 编译器为此吐出错误(不是警告)。由于很多 iOS 调用不一定使用传递参数(例如很多回调),我需要帮助来摆脱这个。
解决方案#1)
在您的 Xcode 项目的“构建设置”中,有一个用于“未使用参数”的参数。
将其从 重置YES
为NO
。
解决方案#2(Xcode 4 可用):
在 Xcode 4.3.2 或更高版本中使用__unused
.
解决方案#3)
放入#pragma unused (searchBar)
您的代码,最好是在您的实现中声明函数的行下方。
IE
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
#pragma unused (searchBar)
NSLog(@"Search Bar isn't used in this function");
}