如何将NSString的值存储到UITableviewcell中?

时间:2013-10-10 23:28:10

标签: iphone ios uitableview nsstring

我有UITextFieldUITableViewUIButton。我将UITextField的值存储在NSString中,如下所示。当我按“完成”UIButton时,我想将NSString的值存储在UITableview第一个单元格中。当我在UITextField中输入一个新字符串并重复该值应该存储在第二个单元格中的过程等等。

NSString *cellValues = textField.text;


- (UITableViewCell *)tableview:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *) indexPath
{
                SampleTableview *cell;

}

1 个答案:

答案 0 :(得分:0)

您的班级可以拥有NSMutableArray属性(请注意,您应该遵守UITableViewDelegateUITableViewDataSource协议):

@interface viewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, strong) NSMutableArray *listOfStrings;
@end

确保在UITableView方法上正确设置viewDidLoad和数组(如果将Table View Controller对象拖放到Storyboard中,则无需执行此操作此):

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.listOfStrings = [[NSMutableArray alloc]init];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
}

设置tableView委托方法,如下所示:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [self.listOfStrings count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    cell.textLabel.text = [self.listOfStrings objectAtIndex:indexPath.row];
    return cell;
}

然后,当您按下UIButton时,被调用的方法应该将UITextField文本添加到数组并重新加载tableView

- (void)buttonPressed{
    [self.listOfStrings addObject:self.textField.text];
    [self.tableView reloadData];
}

希望这有帮助。