這是class 1這裏我保存了我的字符串和變量我很確定這堂課的一切都可以。NSUserdefaults沒有打開
-(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的(也許錯就錯在這個類)
出於某種原因,標籤不得到改變當滑塊移動,我也做了一個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];
}
有在你的代碼severl問題(當然,還有其它什麼也沒有之前申報你的方法的方式你參數 - 它可以被編譯器理解,但會讓你自己的代碼更不易讀)。您還要傳遞參數,以便通過引用傳遞它們,或者提供返回值。下面的代碼似乎只是將所有時間lblname重新分配給一個新字符串。而已。沒有涉及標籤。 – onekiloparsec