0

私は Objective-C と XCode を初めて使用し、そのような問題に遭遇しました。

に値を適切に保存するにはどうすればよいですかNSUserDefaults

私には価値がある

[_textFields objectAtIndex:2]).text

そして、これをやろうとしている

[[[NSUserDefaults standardUserDefaults] setValue:((UITextField *)[_textFields objectAtIndex:2]).text))  forKey:@"Phone"];
[[NSUserDefaults standardUserDefaults] synchronize];

どのようにそれを適切に行うのですか?

4

4 に答える 4

2

setObject:forKey:の代わりに使用setValue:forKey:

[[[NSUserDefaults standardUserDefaults] setObject:((UITextField *)[_textFields objectAtIndex:2]).text)) forKey:@"Phone"];

更新: 配列にそのテキスト フィールドが実際にある場合、コードは機能します。より明確にするために、段階的に分解されたコードを次に示します。

UITextField* textField = [_textFields objectAtIndex:2]; // get your text field
NSString* text = textField.text; // get the actual value we are going to store
[[[NSUserDefaults standardUserDefaults] setObject:text forKey:@"Phone"]; // store it
于 2012-10-25T05:36:04.187 に答える
1

setObject:forKey:の代わりにメソッドを使用setValue:forKey:

NSUserDefaultsクラスで:

[[NSUserDefaults standardUserDefaults] setObject:"Your Object" forKey:@"Phone"];
于 2012-10-26T06:11:57.430 に答える
1

文字列値を操作しています。setObjectForKey (保存) と objectForKey (読み取り) を使用する必要があります。これが例です

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *yourText = [[_textFields objectAtIndex:2] text]; // Your text

// Save
[userDefaults setObject:yourText forKey:kKey];
[userDefaults synchronize];

// Read
NSString *result = (NSString *) [userDefaults objectForKey:kKey];
于 2012-10-25T06:17:32.463 に答える
0

setObject:forKey:プロパティ リスト オブジェクト (辞書、配列、文​​字列、数値) を に格納する場合は、 を使用する必要がありますNSUserDefaultsドキュメントを参照してください。

于 2012-10-25T05:34:53.850 に答える