Xcode 4和错误的"语义问题" - 如何处理它们?

fre*_*oma 6 compiler-warnings suppress-warnings xcode4

我已经开始使用Xcode 4了,我对一些"功能"特别恼火,特别是那些似乎没有多大意义的语义警告,例如:

http://coding-journal.com/wp-content/uploads/2011/08/Screen-Shot-2011-08-07-at-8.50.46-P​​M.png

在第640行,您可以看到一个语义问题,说我将不兼容的指针类型传递给参数NSString *,这是完全错误的,因为NSTabViewItems的签名initWithIdentifier:是:

- (id)initWithIdentifier:(id)identifier
Run Code Online (Sandbox Code Playgroud)

我的猜测是Xcode认为我正在调用initWithIdentifer:其他一些对象,因为当我使用Cmd+Click该方法时,它给了我三个选项:

http://coding-journal.com/wp-content/uploads/2011/08/Screen-Shot-2011-08-07-at-8.50.24-PM.png

第一个来自NSTableColumn,有签名

- (id)initWithIdentifier:(NSString *)identifier;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,在这种情况下我该怎么做?我喜欢我的代码没有警告,但是当使用Xcode 4时似乎不可能:(