我正在尝试玩具项目中的测试驱动开发.我可以让我的类的公共接口的测试工作(虽然我仍然在围栏,因为我正在编写比测试方法更多的测试代码).
我倾向于使用很多私有方法,因为我喜欢保持公共接口干净; 但是,我还是想对这些方法进行测试.
由于Cocoa是一种动态语言,我仍然可以调用这些私有方法,但是在我的测试中我得到警告,我的班级可能不会对这些方法做出反应(虽然它显然是这样).由于我喜欢在没有警告的情况下进行编译,因此我的问题是:
我想要做的就是更改UIDatePicker的字体颜色.我研究了其他问题,但他们都涉及改变其他属性和定制整个外观.我想要做的只是将字体颜色从黑色更改为白色.我发现很难相信我不能做这么看似简单的任务.为什么淡色会影响它呢?它甚至做了什么吗?
在有限的时间内,我想抑制编译器在Xcode 7.3.1中向我展示的这些警告:
<File>: Pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
我已将此编译器标志添加到My Target/Build Phases/Compile Sources下的所有类:
-Wnullability-completeness
但它没有用 - 警告仍然显示出来.我怎样才能摆脱警告?
我在Swift(Xcode 6.3 beta)中使用Nimble断言框架进行单元测试.它运行正常,但编译器会对Nimble源代码中的一行提示警告:
public func expect<T>(expression: () -> T?, file: String = __FILE__, line: UInt = __LINE__) -> Expectation<T> {
return Expectation(
expression: Expression(
expression: expression,
location: SourceLocation(file: file, line: line),
isClosure: true))
}
Run Code Online (Sandbox Code Playgroud)
警告是针对第一行:
具有默认参数的参数之前的Closure参数不会被视为尾随闭包
这不是一个非常严重的问题,但我想在我的项目中保持编译器警告的数量很少(零).有没有办法删除此警告?
在xcode 3中,可以配置用于构建项目的每个单个文件的特定选项,例如禁用特定警告,拇指代码生成等.
在xcode 4中,这种功能不可用,或者至少不是以直观的方式.但是,从xcode 3.x导入的项目中,至少作为向后兼容性功能支持此功能.
有没有人知道一种方法来指定这些设置,而无需在旧的xcode中打开项目或为每个文件创建项目?
我工作的一个项目有一个不强制执行警告的构建系统.
但我有一些代码需要警告才能工作.这是一个例子
NSString* title = @"";
if ([view respondsToSelector:@selector(title)]) {
title = [view title];
}
Run Code Online (Sandbox Code Playgroud)
在一些谷歌搜索之后,我尝试通过包装该代码区来禁用代码块的警告
#pragma warning disable
// my code
#pragma warning restore
Run Code Online (Sandbox Code Playgroud)
没工作:(
有人知道如何在Xcode中执行此操作吗?
任何帮助表示赞赏.
-简历
如何抑制此编译器警告:
Meta method 'prefix' in category from '...soap+prefix.o' conflicts with same method from another category?这里是soap + Prefix.h类:
@interface Soap (Prefix)
+(NSString*)prefix;
@end
Run Code Online (Sandbox Code Playgroud)
和肥皂+前缀.m:
#import "Soap.h"
#import "Soap+Prefix.h"
@implementation Soap (Prefix)
+(NSString*)prefix { return @"EInspector"; }
@end
Run Code Online (Sandbox Code Playgroud)
顺便说一下,这两个文件是用SudZcWeb服务的包装器自动生成的.
ps此警告仅在XCode 4.4中发出
非常感谢你.
如何在XCode中屏蔽不需要的"死店"警告?这就是我有这个代码,我不认为这是一个问题,所以如果是这种情况我不想继续看到警告......(欢迎提供反馈)
代码在这里:
// Position and Size Labels in Cell
CGFloat currVertPos = 0; // Maintain lowest position, i.e. starting vertical point for next cell
// Set Position & Get back next veritical position to use
currVertPos = [self resizeLabel:_mainLabel atVertPos:currVertPos];
currVertPos = [self resizeLabel:_mainLabel2 atVertPos:currVertPos];
currVertPos = [self resizeLabel:_mainLabel3 atVertPos:currVertPos];
currVertPos = [self resizeLabel:self.secondLabel atVertPos:currVertPos]; // WARNING OCCURS HERE
Run Code Online (Sandbox Code Playgroud)
警告详细信息=永远不会读取存储在"currVertPos"处的值.
所以对于最后一行来说,确实不需要"currVertPos",但这真的很重要,如果不是,我怎么能使警告静音?
在我的project代码中Xcode,我的代码总是有很多warning,我认为有些是重要的,有些对我来说不是那么重要code:
比如类型是:xxx is deprecaetd in iOS 8.0 - Use xxx
另一种类型是:Undeclared selector 'respondsToTapLike'
或其他更多。
有很多类型警告:
现在,我如何过滤warning typein Buildtime?
eg: 我只是想展示 的类型Method possibly missing a [super awakeFromNib] call。
如果可以过滤类型,怎么办?