我有一个只有类方法(实用程序)的类,所以我的界面如下:
@interface MyUtils : NSObject {
}
Xcode不喜欢它并说:
警告:struct没有命名成员
所以我必须创建一个无意义的实例变量?我的代码工作正常,但是...我只是为编译器激活了各种警告.
小智 5
警告本身不是任何方式的错误,误导或错误.你有一个结构,它是空的,而在C中,有一个没有成员的结构是不常见的.您看到警告的事实是,这取决于您与谁交谈.
这是你的问题:Objective-C是使用GCC编译的,GCC是一个带有Objective-C扩展的C编译器.
Objective-C是C的子集.类似地,Objective-C类是C结构的子集.
在Objective C中,在类中没有属性是完全正常的.在C中,在结构中没有成员是很不寻常的.
GCC是一个C编译器.
这是您的警告源自的地方.海湾合作委员会的Objective-C支持并不够聪明,无法摆脱这种警告,或者你认为不应该这样做.
在类中没有属性的情况下,通常会删除花括号.但是,这不会消除警告.
如果您不小心创建了一个标准结构(即使在Objective-C代码中),那么您将会欣赏这个警告,因为通常情况下,意外创建的结构没有成员,并且会导致许多奇怪的问题.
如果你启用-pedantic进行编译,有一些这样的警告,它们都有扎实的根源.有些像这样,是由于Objective-C和C约定之间的细微差别.其他人是GCC警告您,您的代码可能无法在其他操作系统上编译.有些人认为你永远不应该看到它们,有些人认为这些信息是完全正常的.
如果您使用Xcode,我建议您在项目中使用两个目标.一个正常的警告,一个与你的疯狂警告.使用第一个目标进行正常编码.如果您无法在5分钟内识别出错误,请使用第二个目标.有很多教程在Xcode中处理目标.
| 归档时间: | 
 | 
| 查看次数: | 593 次 | 
| 最近记录: |