Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 忽略Xcode 4中的问题类型_Objective C_Xcode_Xcode4_Issue Tracking - Fatal编程技术网

Objective c 忽略Xcode 4中的问题类型

Objective c 忽略Xcode 4中的问题类型,objective-c,xcode,xcode4,issue-tracking,Objective C,Xcode,Xcode4,Issue Tracking,我对xcode4有点问题。 我在我的项目中遇到此类代码的问题: - (id)init { if (self = [super init]) { } return self; } 我知道我可以用以下方法来修复它: - (id)init { if ((self = [super init])) { } return self; } 或 但问题是,我在一个特殊的项目中使用了大量的外部库,我不想编辑这些文件,不想将更新推送到github或其他什么地方 那么,是否有一个选项可

我对xcode4有点问题。 我在我的项目中遇到此类代码的问题:

- (id)init {
  if (self = [super init]) {
  }
  return self;
}

我知道我可以用以下方法来修复它:

- (id)init {
  if ((self = [super init])) {
  }
  return self;
}

但问题是,我在一个特殊的项目中使用了大量的外部库,我不想编辑这些文件,不想将更新推送到github或其他什么地方


那么,是否有一个选项可以在xcode中停用此类通知/问题发布?

据我所知,您有两个选项:

  • 切换到GCC作为编译器,因为LLVM默认会检查此警告,GCC不会

  • -Wno惯用括号添加到LLVM编译器警告/其他警告标志


您应该使用
if(self==[super init])
而不是
if(self=[super init])
=
用于向变量添加值,
=
表示
等于

警告说明了什么?我没有收到此代码的警告。我认为if子句中的赋值是代码气味。它说
使用赋值结果作为条件,而不使用括号。是的,我也不喜欢这种风格。但是第三方lib确实使用了这个,我使用GCC。试图在GCC上使用
-Wno惯用括号
会引发一个错误
cc1obj:error:unrecogned命令行选项“-Wno惯用括号”
@choise,不,这是一个特定于clang/LLVM的标志,在GCC中不起作用。有趣的是,你得到了GCC的错误。您确定每个子项目都设置为带有GCC的编译器吗?我刚刚尝试使用GCC4.2,但没有警告。切换到LLVM 2.0是没有选择的?您确定编译器设置没有被目标覆盖吗?我建议创建一个简单的应用程序模板应用程序,并使用init代码尝试不同的编译器,看看它的行为是否相同。仍然没有运气。明天将重试=/无法对我的项目执行此操作。在项目的目标和构建设置中,我使用GCC4.2。我接受你的回答,因为我认为这是正确的。也许xcode4仍然有点问题。谢谢
- (id)init {
  self = [self init];
  if (self) {
  }
  return self;
}