【发布时间】:2011-02-02 06:12:39
【问题描述】:
我正在使用以下代码...
-(id) initWithVariableName:(NSString*)variableName withComparisonValue:(NSString*)comparisonValue {
// super init
self = [super init];
if (!self) return nil;
// set instance variables
self.mustExist = NO;
self.reverseCondition = NO;
self.regularExpression = NO;
self.variableName = variableName; // generates warning
self.comparisonValue = comparisonValue; // generates warning
return self;
}
产生了以下两个警告...
- “variableName”的本地声明隐藏了实例变量
- “comparisonValue”的本地声明隐藏了实例变量
是否有处理这些警告的通用或公认约定?
我知道这只是告诉用户他们应该在引用类成员时指定一个实例,但这很烦人。
【问题讨论】:
-
这只是一个警告。你可以忽略它
-
在本例中这甚至不是问题,因为您通过点语法访问所有实例变量。即使您使用传统的结构取消引用语法 (
self->variableName),也不会有问题。这个警告只是告诉你不能单独使用variableName来引用实例变量。 -
没有编译指示可以禁用此警告吗?我讨厌丑陋的代码。
标签: objective-c