0

UISwitchの状態をファイルに書き込もうとしているので、アプリが起動するたびに、以前にオンかオフかが記憶されます。

-(IBAction) switchValueChanged {
   if (Hard1ON.on) {
   isH1 = (@"YES");
   //save above yes to file

少し検索したところ、これがファイルに保存するために使用されるコードの一部であることがわかりました。

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error

ただし、「宣言されていない識別子の使用」「writeToFile」エラーが発生します。誰かが私に何が悪いのか教えてもらえますか?

4

1 に答える 1

1

文字列としてファイルに保存するには (おそらく最善の解決策ではありません):

- (IBAction)switchValueChanged:(id)sender
{
    NSString *stateAsString;
    if ([sender isOn]) {
        stateAsString = @"YES";
    } else {
        stateAsString = @"NO";
    }
    [stateAsString 
        writeToFile:@"/path/to/file"
        atomically:NO 
        encoding:NSUTF8StringEncoding 
        error:NULL
    ];
}

状態を NSUserDefaults に書き込むことをお勧めします。

#define kSwitchStateKey @"SwitchState"

- (IBAction)switchValueChanged:(id)sender
{
    [[NSUserDefaults standardUserDefaults]
        setObject:@([sender isOn)
        forKey:kSwitchStateKey
    ];
}            
于 2013-02-24T11:45:24.827 に答える