Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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
Iphone 局部声明隐藏实例变量警告_Iphone_Ios_Xcode - Fatal编程技术网

Iphone 局部声明隐藏实例变量警告

Iphone 局部声明隐藏实例变量警告,iphone,ios,xcode,Iphone,Ios,Xcode,本地声明隐藏“self.treatmentId=treatmentId;”和“self.treatmentName=treatmentName;”附近的实例变量消息弹出窗口 将代码更改为以下内容 @implementation Treatment @synthesize treatmentId; @synthesize treatmentName; -(Treatment *)initWithtreatmentName:(NSString *)newTreatmentName treatme

本地声明隐藏“self.treatmentId=treatmentId;”和“self.treatmentName=treatmentName;”附近的实例变量消息弹出窗口


将代码更改为以下内容

@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