Получить значения из нескольких UITextFields - PullRequest
2 голосов
/ 06 февраля 2012

У меня есть сгруппированный статический UITableViewController, с 3 строками на раздел. Каждая строка содержит UITextField. Как получить значение для каждого UITextField?

Пока что я видел, как получить значение одного UITextField. Что мне делать, если мне нужно получить больше одного.

Я планирую поместить значения этих полей в NSMutableDictionary.

Вот мой код для создания табличного представления: (несущественные части опущены)

#import "AddItemTableViewController.h"
#import "iMonggoFetcher.h"

@interface AddItemTableViewController() <UITextFieldDelegate>
@property (weak, nonatomic) NSMutableDictionary *productItem;

//required
@property (weak, nonatomic) IBOutlet UITextField *stockNoTextField;
@property (weak, nonatomic) IBOutlet UITextField *nameTextField;
@property (weak, nonatomic) IBOutlet UITextField *retailPriceTextField;

//basic info
@property (weak, nonatomic) IBOutlet UITextField *costTextField;
@property (weak, nonatomic) IBOutlet UITextField *descriptionTextField;
@property (weak, nonatomic) IBOutlet UITextField *barcodesTextField;
@property (weak, nonatomic) IBOutlet UITextField *tagsTextField;
@property (weak, nonatomic) IBOutlet UISwitch *exemptFromTaxSwitch;

//advanced features
@property (weak, nonatomic) IBOutlet UISwitch *allowDecimalQuantitiesSwitch;
@property (weak, nonatomic) IBOutlet UISwitch *enableOpenPriceSwitch;
@property (weak, nonatomic) IBOutlet UISwitch *disableDiscountSwitch;
@property (weak, nonatomic) IBOutlet UISwitch *disableInventorySwitch;

@end

@implementation AddItemTableViewController
@synthesize productItem = _productItem;


@synthesize stockNoTextField = _stockNoTextField;
@synthesize nameTextField = _nameTextField;
@synthesize retailPriceTextField = _retailPriceTextField;
@synthesize costTextField = _costTextField;
@synthesize descriptionTextField = _descriptionTextField;
@synthesize barcodesTextField = _barcodesTextField;
@synthesize tagsTextField = _tagsTextField;
@synthesize exemptFromTaxSwitch = _exemptFromTaxSwitch;
@synthesize allowDecimalQuantitiesSwitch = _allowDecimalQuantitiesSwitch;
@synthesize enableOpenPriceSwitch = _enableOpenPriceSwitch;
@synthesize disableDiscountSwitch = _disableDiscountSwitch;
@synthesize disableInventorySwitch = _disableInventorySwitch;


- (IBAction)save:(UIBarButtonItem *)sender {
    [self.productItem setValue:self.stockNoTextField.text forKey:IMONGGO_PRODUCT_STOCK_NO];
    [self.productItem setValue:self.nameTextField.text forKey:IMONGGO_PRODUCT_NAME];
    [self.productItem setValue:self.retailPriceTextField.text forKey:IMONGGO_PRODUCT_RETAIL_PRICE];

}

#pragma mark - UITextField 

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    return YES;
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
    return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField {
    // optionally trigger delegate method here
}

#pragma mark - View lifecycle
- (void) viewWillAppear:(BOOL)animated{
    //[self.stockNoTextField becomeFirstResponder];
}
- (void) viewDidLoad{
    [super viewDidLoad];
    self.stockNoTextField.delegate = self;
    self.nameTextField.delegate = self;
    self.retailPriceTextField.delegate = self;
    //will do the rest later, just trying it out for now
}




@end

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

1) Вы можете сделать свойства этих полей .. и затем получить текст по свойству name.text

2) Вы можете попробовать присвоить этим полям тег, а затем получить эти поля с помощью метода viewwithtag.а затем их текст.

0 голосов
/ 06 февраля 2012

вы можете получить значения каждого textFields в массиве с помощью textField.text.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...