我有一个 UITableView,其中有一个自定义原型单元格,在另一个类 (CustomCell) 中定义,其中有一个 UITextField。每次我按下按钮时,它都会调用一个名为 addItem 的方法,该方法会创建一个新单元格。我希望 UITextFields 中的文本进入一个数组。为了更好地解释它,如果我向 UITableView 添加 3 个单元格并在相应的 UITextFields 中输入 3 个文本,我希望第一个单元格中的文本进入索引 0 中的数组,第二个单元格中的文本进入索引 1以及第 3 个单元格中的文本到索引 2。我最大的问题是我希望能够回到单元格 1 中的 UITextField 并对其进行更新,并让它动态更新与其对应的 NSArray 对象,即一个在索引 0。我不知道如何处理它。有人可以帮忙吗???非常感谢你!!
我的代码(obs:itemTable 是 UITableView):
主视图控制器.m
@implementation addViewController{
NSInteger n;
NSString *aid;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
-(void)viewWillAppear:(BOOL)animated{
n=1;
aid=@"";
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return n;
}
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier= @"Cell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
cell.itemNumber.text=[NSString stringWithFormat:@"Item %d",indexPath.row];
return cell;
}
- (IBAction)addItem:(UIButton *)sender {
++n;
[_itemTable reloadData];
}
- (IBAction)removeItem:(UIButton *)sender {
if (n>=0)--n;
[_itemTable reloadData];
}
自定义单元格.m:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {_itemValue = [[UITextField alloc]init];
_item = [[UILabel alloc]init];
[self.contentView addSubview:_itemValue];
[self.contentView addSubview:_item];
}
return self;
}
自定义单元格.h
@interface CustomCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *itemNumber;
@property (strong, nonatomic) IBOutlet UITextField *itemValue;
@end