好的简单问题,但找不到答案。
我有一个按钮可以在我的应用程序中保存信息。我有
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