Iphone 局部声明隐藏实例变量警告
本地声明隐藏“self.treatmentId=treatmentId;”和“self.treatmentName=treatmentName;”附近的实例变量消息弹出窗口Iphone 局部声明隐藏实例变量警告,iphone,ios,xcode,Iphone,Ios,Xcode,本地声明隐藏“self.treatmentId=treatmentId;”和“self.treatmentName=treatmentName;”附近的实例变量消息弹出窗口 将代码更改为以下内容 @implementation Treatment @synthesize treatmentId; @synthesize treatmentName; -(Treatment *)initWithtreatmentName:(NSString *)newTreatmentName treatme
将代码更改为以下内容
@implementation Treatment
@synthesize treatmentId;
@synthesize treatmentName;
-(Treatment *)initWithtreatmentName:(NSString *)newTreatmentName treatmentId:(NSString *)newTreatmentId{
if((self = [super init])){
self.treatmentId = newTreatmentId;
self.treatmentName = newTreatmentName;
}
return self;
}
@end
通过声明局部变量
TrenthName
和treatmentId
,您基本上失去了通过其名称访问全局(IVAR)的能力。此错误意味着self.treatmentName和self.treatmentId之前已声明,因此局部声明隐藏了实例变量。如果您只是将init方法更改为:
-(Treatment *)initWithtreatmentName:(NSString *)name treatmentId:(NSString *)identifiction
为了反映这一点,您将发现错误应该消失。更改initWithtreatmentName方法中的第一个参数名称。修改以下方法-(治疗*)initWithtreatmentName:(NSString*)治疗名称治疗ID:(NSString*)治疗ID类似于-(治疗*)initWithtreatmentName:(NSString*)otreatmentName treatmentId:(NSString*)otreatmentId,实例名称和参数名称与警告显示的方式相同。
-(Treatment *)initWithtreatmentName:(NSString *)name treatmentId:(NSString *)identifiction