Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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 NSUserdefaults不打开_Objective C_Ios_Xcode - Fatal编程技术网

Objective c NSUserdefaults不打开

Objective c NSUserdefaults不打开,objective-c,ios,xcode,Objective C,Ios,Xcode,这是类1这里我保存了我的字符串和变量,我非常确定这个类中的一切都是正常的 -(void)SaveTextBox:(NSString*)string :(NSString*)stringsave { NSString *savestring = string; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:savestring forKey:str

这是类1这里我保存了我的字符串和变量,我非常确定这个类中的一切都是正常的

-(void)SaveTextBox:(NSString*)string :(NSString*)stringsave
{ 
    NSString *savestring = string;
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:savestring forKey:stringsave];
    [defaults synchronize];
}
- (IBAction)btnSaveTeamNames:(id)sender
{
[self SaveTextBox:tbTeam1.text :@"save1"];
[self SaveTextBox:tbTeam2.text :@"save2"];
[self SaveTextBox:tbTeam3.text :@"save3"];
[self SaveTextBox:tbTeam4.text :@"save4"];
[self SaveTextBox:tbTeam5.text :@"save5"];
[self SaveTextBox:tbTeam6.text :@"save6"];
[self SaveTextBox:tbTeam7.text :@"save7"];
[self SaveTextBox:tbTeam8.text :@"save8"];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:[NSNumber numberWithInt:TeamAmount] forKey:@"teamAmount"];
}
第2类

这就是我尝试加载NSUserDefaults的地方(可能是这个类中的错误)

由于某些原因,当滑块移动时标签不会更改,我还在我的void上调用viewdidload以加载带有标准保存字符串的标签,但它们也不会加载

@synthesize lblTeamOne;
@synthesize lblTeamTwo;
@synthesize sliderTeamOneOutlet;
@synthesize sliderTeamTwoOutlet;

-(void)loadTeams:(NSString*)location:(NSString*)lblname
{

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *loadstring = [defaults objectForKey:location];
lblname = loadstring;
}

-(void)sliderdisplay:(UISlider *)sliderOutlet :(NSString *)lblName
{
if(0 < sliderOutlet.value && 1 >= sliderOutlet.value)
{
    [self loadTeams:@"save1" :lblName];

}
if(1 < sliderOutlet.value && 2 >= sliderOutlet.value)
{
    [self loadTeams:@"save2" :lblName];

}
if(2 < sliderOutlet.value && 3 >= sliderOutlet.value)
{
    [self loadTeams:@"save3" :lblName];

}
if(3 < sliderOutlet.value && 4 >= sliderOutlet.value)
{
    [self loadTeams:@"save4" :lblName];

}
if(4 < sliderOutlet.value && 5 >= sliderOutlet.value)
{
    [self loadTeams:@"save5" :lblName];

}
if(5 < sliderOutlet.value && 6 >= sliderOutlet.value)
{
    [self loadTeams:@"save6" :lblName];

}
if(6 < sliderOutlet.value && 7 >= sliderOutlet.value)
{
    [self loadTeams:@"save7" :lblName];

}
if(7 < sliderOutlet.value && 8 >= sliderOutlet.value)
{
    [self loadTeams:@"save8" :lblName];

}
}
-(void)loadMaximum
{

int teamAmount = [[[NSUserDefaults standardUserDefaults] objectForKey:@"teamAmount"] intValue];
NSNumber *yourNumber = [NSNumber numberWithInt:teamAmount];
float sliderMaximumDigital = [yourNumber floatValue];
[sliderTeamOneOutlet setMaximumValue:sliderMaximumDigital];
[sliderTeamTwoOutlet setMaximumValue:sliderMaximumDigital];
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadTeams:@"save1" :lblTeamOne.text];
[self loadTeams:@"save1" :lblTeamTwo.text];
[self loadMaximum];
}
@lblTeamOne;
@合成lblTeamTwo;
@合成滑块式排气口;
@综合滑块两出口;
-(void)LoadTeam:(NSString*)位置:(NSString*)lblname
{
NSUserDefaults*默认值=[NSUserDefaults standardUserDefaults];
NSString*loadstring=[defaults objectForKey:location];
lblname=加载字符串;
}
-(void)sliderdisplay:(UISlider*)sliderOutlet:(NSString*)lblName
{
如果(0=sliderOutlet.value)
{
[自加载团队:@“save1”:lblName];
}
如果(1=sliderOutlet.value)
{
[自加载团队:@“save2”:lblName];
}
如果(2=sliderOutlet.value)
{
[自加载团队:@“save3”:lblName];
}
如果(3=sliderOutlet.value)
{
[自加载团队:@“save4”:lblName];
}
如果(4=sliderOutlet.value)
{
[自加载团队:@“save5”:lblName];
}
如果(5=sliderOutlet.value)
{
[自加载团队:@“save6”:lblName];
}
如果(6=sliderOutlet.value)
{
[自加载团队:@“save7”:lblName];
}
如果(7=sliderOutlet.value)
{
[自加载团队:@“save8”:lblName];
}
}
-(无效)最大载荷
{
int teamAmount=[[NSUserDefaults standardUserDefaults]objectForKey:@“teamAmount”]intValue];
NSNumber*yourNumber=[NSNumber numberWithInt:teamAmount];
浮点滑块最大数字=[yourNumber浮点值];
[sliderTeamOneOutlet设置最大值:sliderMaximumDigital];
[sliderTeamTwoOutlet设置最大值:sliderMaximumDigital];
}
-(无效)viewDidLoad
{
[超级视图下载];
[自助团队:@“save1”:lblTeamOne.text];
[self-loadTeams:@“save1”:lblTeamTwo.text];
[自动加载最大值];
}

您需要传递指向
UILabel
对象的指针,以便对其进行更新:

-(void)loadTeams:(NSString*)location label:(UILabel*)label
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *loadstring = [defaults objectForKey:location];
    label.text = loadstring;
}
...

[self loadTeams:@"save1" label:lblTeamOne];

您的代码中有几个问题(除其他外,您在参数前声明方法时什么都不做,这是编译器可以理解的,但会使您自己的代码更不可读)。在传递参数时,您还希望通过引用传递参数,或者提供返回值。下面的代码似乎只是将所有时间的lblname重新分配给一个新字符串。没别的了。不涉及标签。只是问,但这是一个糟糕的问题吗?每次我问这种问题,我似乎都被否决了。@harry不,你问的问题很好;你提供了足够的信息来解决这个问题。如果有些人不喜欢你提供的代码,他们喜欢投否决票,这对他们来说是错误的。恐怕这里的人都是这样的。