0

我正在使用自 iOS SDK 5.0 版以来可用的方法。当然,在调用它之前,我正在检查该类是否具有该方法(换句话说,它正在检查正在运行的 iOS 版本):

if ([UITabBar instancesRespondToSelector:@selector(setSelectedImageTintColor:)]) {
    [myTabBarController.tabBar setSelectedImageTintColor :TINT_COLOR_IMAGES];
}

这工作正常。但是,我收到了要删除的警告,但我没有找到任何可以处理它的东西。警告是:

warning: ‘UITabBar’ may not respond to ‘-setSelectedImageTintColor:’
warning: (Messages without a matching method signature
warning: will be assumed to return ‘id’ and accept
warning: ‘...’ as arguments.)

因为我不想删除项目中的所有警告(删除选项 -Wall),所以我尝试了这个 #pragma :

#pragma GCC diagnostic ignored "-Wundeclared-selector"
[...] my method containing call to setSelectedImageTintColor
#pragma GCC diagnostic warning "-Wundeclared-selector"

但这不起作用,即使我用“Wall”替换了“Wundeclared-selector”,这意味着#pragma 没有效果,也许我需要在我的makefile中激活一些东西。

任何的想法 ?

谢谢

4

1 回答 1

1

删除警告更改此

 [myTabBarController.tabBar setSelectedImageTintColor :TINT_COLOR_IMAGES];

 [myTabBarController.tabBar performSelector:@selector(setSelectedImageTintColor:) withObject:TINT_COLOR_IMAGES];

这将删除警告

于 2012-06-07T15:39:49.373 回答