将 XCode 升级到 4.6 后的新编译器警告:
展示最后两行警告的最小示例:
for (NSUInteger i = 0; i < 10; i++) {
NSString *res = [testInstance generate:i];
NSString *desc = [NSString stringWithFormat:@"TestData: %d", i];
STAssertNotNil(res, desc);
STAssertNotEquals(@"", res, desc);
}
我查看了与此警告有关的其他问题,但它们源于程序员不必要地使用stringWithFormat:
- 这里我想要一个动态断言描述,它每次迭代都会改变,但不会每次检查。
我可以将格式字符串和数据传递到断言中,但是我必须独立维护描述。
如果我要求在日志消息或断言调用中使用描述的格式之前,我该如何避免此警告?