状態を私のtableViewController
行に無駄に保存しようとしています。私は様々なstackOverflowの質問と回答、およびAppleのドキュメントを見てきましたが、何も私のアプリで動作するようです。ここでUISwitchの結果とNSUserDefaultsを保存する
は私のアプリのデリゲートです:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"No" forKey:@"emailSwitch"];
[defaults registerDefaults:appDefaults];
[defaults synchronize];
}
私はSettings.bundleセットでRoot.plistを持ち、これはアプリの設定ではなく、tableViewController
にスイッチした結果を作業して保存しているようです。たとえば、私が設定で "on"に切り替えると、私がtableViewController
にオブジェクトを追加すると、スイッチは "オフ"になります。ここで
はtableViewController.hファイルの該当コードです:ここでは
@property (nonatomic, getter=isOn) BOOL on;
- (void)toggleValue:(id)sender;
はtableViewController mのファイルの該当コードです:
- (void)viewWillAppear:(BOOL)animated
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"emailSwitch"])
{
[emailSwitch setOn:YES animated:NO];
}
else
{
[emailSwitch setOn:NO animated:NO];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
customTableViewCell *cell = (customTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[CustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
//Code regarding cell contents here
UISwitch *switchObj = [[UISwitch alloc] initWithFrame:CGRectZero];
[switchObj addTarget:self action:@selector(toggleValue:) forControlEvents:(UIControlEventValueChanged | UIControlEventTouchDragInside)];
cell.accessoryView = switchObj;
return cell;
}
-(void)toggleValue:(id)sender
{
[[NSUserDefaults standardUserDefaults] setBool:emailSwitch.on forKey:@"emailSwitch"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
あなたはtableViewController
にオブジェクトを追加するとし、 UISwitch
を「オン」に切り替えると、「オン」状態は保存されません。私は様々なアプローチを試みましたが、何も動いていません。誰かが私が間違っていることを教えてもらえれば、本当に感謝しています。あなたが提供できるあらゆる助けを前もって感謝します。
おかげで、しかし、あなたはそれが10ヶ月前に頼まれた見ることができるように - 私は「wasn何スクラップすることを決定しました働いて、始めた。 – PopUp