簡単な質問ですが、答えが見つかりません。
アプリに情報を保存するためのボタンがあります。私は持っている
NSMutableArray *textFields = [[NSMutableArray alloc] initWithCapacity:5];
UITextField *textField = nil;
これは保存したい情報です。textFields mutablearray に 5 つのテキストフィールドがあります。
[save addTarget:self action:@selector(saveInfo)
forControlEvents:UIControlEventTouchUpInside];
と
-(void)saveInfo {
[[[NSUserDefaults standardUserDefaults] setValue: ????? forKey:@"Phone"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
問題は、 saveInfo void の textFields[1].text などにアクセスして情報を取得する方法です。
分かりやすくするために、クラス全体を追加しました。それはそれほど大きくはなく、誰かがそれが私の実装の問題であることに気付くかもしれません。
@implementation Settings
- (id)init: (TableViewController*) TableControll {
NSMutableArray *textFields = [[NSMutableArray alloc] initWithCapacity:5];
UITextField *textField = nil;
for (int i = 0; i < 3; i++) {
textField = [[UITextField alloc] initWithFrame:CGRectMake(0.0f, 0.0f+(i*35), 120.0f, 30.0f)];
textField.backgroundColor = [UIColor whiteColor];
[textField setBorderStyle:(UITextBorderStyleRoundedRect)];
[TableControll.view addSubview:textField];
[textFields addObject:textField];
[textField release]; textField = nil;
}
UITextField *textName = textFields[0];
textName.placeholder = @"Vardas";
UITextField *textNo = textFields[1];
textNo.placeholder = @"Telefonas";
textNo.keyboardType = UIKeyboardTypeNumberPad;
UITextField *textPin = textFields[2];
textPin.keyboardType = UIKeyboardTypeNumberPad;
textPin.placeholder = @"Pin";
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(150, 20, 160, 30);
[button setTitle:@"Advanced settings" forState:UIControlStateNormal];
[TableControll.view addSubview:button];
UIButton *save = [UIButton buttonWithType:UIButtonTypeRoundedRect];
save.frame = CGRectMake(150, 60, 160, 30);
[save setTitle:@"Save settings" forState:UIControlStateNormal];
[TableControll.view addSubview:save];
[button addTarget:self action:@selector(goAdvanced)
forControlEvents:UIControlEventTouchUpInside];
[save addTarget:self action:@selector(saveInfo)
forControlEvents:UIControlEventTouchUpInside];
return self;
}
-(void)goAdvanced {
AppDelegate *newControll = (AppDelegate*)[UIApplication sharedApplication].delegate;
[newControll ChangeController];
}
-(void)saveInfo {
for(int i=0;i<5;i++) {
UITextField *tempTxtField=[_textFields objectAtIndex:i];
NSLog(@"do it %@",tempTxtField.text);
}
}
@end