我有海关单元的表格视图。每个单元格都有两个文本字段。桌子下面是一个按钮。我在表视图控制器中有一个“buttonPressed”动作。如何在此方法中获取每个表行的文本字段值?
以下是自定义单元格标题文件:
<receiver android:name=".MyMediaButtonReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
在表视图控制器中我有这个方法:
...
@interface CustomCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UITextField *name;
@property (weak, nonatomic) IBOutlet UITextField *age;
@end
有人可以帮助我吗?
答案 0 :(得分:5)
根据ios设计模式,您需要在自定义单元格的委托中存储数组中textfield的值。但是对于您的示例,如果您希望所有文本字段值都是相同的位置,那么下面是您的解决方案。假设saveBtnPressed操作在viewController中(不在Customcell中)。假设有5行。
- (IBAction)saveBtnPressed:(id)sender{
NSMutableArray *userDetails = [[NSMutableArray alloc] init];
for(i=0;i<5;i++){
CustomCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
NSDictionary *userDictionary = [[NSDictionary alloc] initWithObjectsAndKeys: cell.name.text, @"name", cell.age.text, @"age", nil];
[userDetails addObject:userDictionary];
}
}
userDetailsArray将包含所有单元格的详细信息。
答案 1 :(得分:0)
尝试以下步骤:
在cellForRowAtIndexPath
为两个textField设置代码。
循环遍历dataSource数组计数,这与行数相同。
获取循环中的单元格,使用标记获取textFields并将文本保存到字典数组:
- (IBAction)OnsaveCilck:(id)sender{
NSMutableArray *Array = [NSMutableArray array];
for (int i=0; i < YourDataSourceArray.Count; i++){
NSIndexPath *indexPath = [NSIndexPath indexPathForRow: i inSection: 0];
CustomCell *cell = [tableview cellForRowAtIndexPath:indexPath];
NSMutableDictionary *Dict = [NSMutableDictionary dictionary];
UITextField *TextName= (UITextField*)[cell.contentView viewWithTag:100];//tag given cellForRowAtIndexPath
UITextField *TextAge= (UITextField*)[cell.contentView viewWithTag:200];//tag given cellForRowAtIndexPath
[Dict setObject:TextName.text forKey:@"name"];
[Dict setObject:TextAge.text forKey:@"age"];
[Array addObject:TempDict];
}
//Final array contains all data
NSLog(@"array == %@",Array);
}