项目中我们有时会在ARC下使用 performSelector:withObject:来调用指定的方法。然而在ARC下,系统并不知道你调用的方法是哪个,适用何种内存管理方式,这时就会出现提示内存可能会泄露的警告,如果此时你确定内存不会泄露,你可以使用以下方式了来忽略掉内存警告:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[myObj performSelector:mySelector withObject:name];
#pragma clang diagnostic pop
此外,在项目中我们经常还会遇到一些在申请变量时由于我们并不需要在此时给它赋值而产生的unused警告。我们也可以用#pragma命令来消除警告,示例如下:
- (void)myMethod
{
NSString *foo; //此时我们并不想赋值
#pragma unused (foo)
//do something you need!
}
不过要注意的是,该命令要写在变量的下面一行。