首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过单击add来添加一个单元格,该单元格将获取TextField值,并在表视图中创建一个单元格,如Swift/Obj-C中下图所示?

在Swift/Obj-C中,可以通过以下步骤来实现通过单击add按钮来添加一个单元格,并在表视图中创建一个单元格:

  1. 首先,创建一个表视图,并设置其数据源和代理。
  2. 在表视图的数据源方法numberOfRowsInSection中,返回表视图的行数。
  3. 在表视图的数据源方法cellForRowAtIndexPath中,创建并返回一个自定义的表视图单元格。
  4. 在视图控制器中添加一个按钮(例如add按钮),并为其添加一个点击事件。
  5. 在点击事件方法中,获取TextField的值。
  6. 将获取到的值添加到数据源数组中,用于更新表视图。
  7. 调用表视图的reloadData方法,刷新表视图。

下面是一个示例代码:

Swift:

代码语言:txt
复制
import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var textField: UITextField!
    
    var data = [String]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.dataSource = self
        tableView.delegate = self
    }
    
    // 表视图的行数
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return data.count
    }
    
    // 创建并返回表视图单元格
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        cell.textLabel?.text = data[indexPath.row]
        return cell
    }
    
    // 添加按钮的点击事件
    @IBAction func addButtonClicked(_ sender: UIButton) {
        if let text = textField.text, !text.isEmpty {
            data.append(text)
            tableView.reloadData()
            textField.text = ""
        }
    }
}

Obj-C:

代码语言:txt
复制
#import "ViewController.h"

@interface ViewController () <UITableViewDataSource, UITableViewDelegate>

@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (strong, nonatomic) NSMutableArray *data;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.tableView.dataSource = self;
    self.tableView.delegate = self;
    self.data = [[NSMutableArray alloc] init];
}

// 表视图的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.data.count;
}

// 创建并返回表视图单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    cell.textLabel.text = self.data[indexPath.row];
    return cell;
}

// 添加按钮的点击事件
- (IBAction)addButtonClicked:(UIButton *)sender {
    NSString *text = self.textField.text;
    if (text.length > 0) {
        [self.data addObject:text];
        [self.tableView reloadData];
        self.textField.text = @"";
    }
}

@end

在上述示例代码中,我们创建了一个表视图,并在视图控制器中添加了一个TextField和一个按钮。当点击按钮时,我们获取TextField的值,并将其添加到数据源数组中。然后,调用表视图的reloadData方法来刷新表视图,从而在表视图中创建一个新的单元格,显示添加的值。

注意:示例代码中的表视图单元格标识符为"Cell",需要在故事板或代码中设置相应的标识符。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS各种调试技巧豪华套餐

最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我写毕业论文没任何一毛钱关系,我就是突然想吟湿了。不过博主作为网络工程专业的好青年,曾经的愿望和理想就是在下水道干出一番轰轰烈烈的大事业,没错是就是下水道,我们的征途在下水道!!不过大家别误会,我不是忍者龟的脑残粉!听我继续说!我想的是等我在各大排水系统各大下水道功成名就的时候,我就可以指着一个井盖对我的孙子说:“诺 那个下面的通信光缆是爷爷我接的!!” 我满脸自豪地接受着这孙子的敬仰!但是啊,曾经的愿望都实现不了了,我深深爱着的地下通信光缆啊,曾经多少个夜晚泪水打湿了我的毕业论文,渲染开的笔墨那都是哥逝去的青春啊。

02
领券