Ios 如何根据用户的输入和按钮初始化我的UITableView表,使其具有一定数量的行

Ios 如何根据用户的输入和按钮初始化我的UITableView表,使其具有一定数量的行,ios,iphone,objective-c,uitableview,uiviewcontroller,Ios,Iphone,Objective C,Uitableview,Uiviewcontroller,我对Objective-C很陌生,所以我的问题对你们大多数人来说可能微不足道,但任何指导都会有所帮助。 这是我的故事书的照片 我当前的目标是允许用户输入集合数(NSInteger*numReps),然后按下“Log Reps”按钮,并使用看起来像原型单元的numReps单元初始化表格 现在我对实现感到茫然。我以前从未做过这种事情,所以我不确定最好的方法是什么。我曾想过为UITableView表创建一个自定义类,在按下Log Reps按钮后从视图中获取信息。我不完全确定这需要如何实施。或者我可以

我对Objective-C很陌生,所以我的问题对你们大多数人来说可能微不足道,但任何指导都会有所帮助。 这是我的故事书的照片

我当前的目标是允许用户输入集合数(NSInteger*numReps),然后按下“Log Reps”按钮,并使用看起来像原型单元的numReps单元初始化表格

现在我对实现感到茫然。我以前从未做过这种事情,所以我不确定最好的方法是什么。我曾想过为UITableView表创建一个自定义类,在按下Log Reps按钮后从视图中获取信息。我不完全确定这需要如何实施。或者我可以简单地将表添加到视图控制器的属性中,并在视图控制器中设置表吗?这是我最初的想法,看起来很理想,这样我就可以把所有东西都放在一个地方


请提出建议。我对这一切都很陌生,来自C++背景,所以我仍然在学习很多注释。

你不想在原型单元中展示什么,但是你需要一个数组(或者可能是字典数组)来填充这些单元格。行数由该数组的entires数(计数)决定。因此,如果您获取用户输入的数字,并将那么多对象添加到数组中,然后在表上调用reloadData,您将获得所需的行数。您添加到数组中的对象是什么,取决于您试图在其中显示的内容。

您可以开始阅读:

但我可以回答你:

您可以将
UITableView
添加到
UIViewController
,但需要像TableView的委托和数据源一样设置
UIViewController
。您的ViewController需要实现以下协议:
UITableViewDataSource

您要查找的方法是:
tableView:numberofrowsinssection:

但我真的建议你阅读苹果参考资料。

试试这个:

  -(IBAction)btnLogClicked {
        int iSet = 4 //Number of row in table
        UITableView *tblView= [[UITab;eView alloc]initWithFrame:CGRectMake(0,50,320,100)];
        tblView.delegate = self;
        tblView.dataSource = self;
        [self.view addSubView:tblView];
}
表视图数据源和委托方法

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

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {

        return iSet;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }
        // Display what you want to display in each cell

        return cell;
    }

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        [tableView deselectRowAtIndexPath:indexPath animated:YES];

    }

您想只允许重复还是重复和重量?从故事板的外观来看,在开始编写代码之前,您可能需要对设计进行更多的思考(看到有人在做健身应用程序真是太棒了)。在我弄清楚如何做到这一点后,我将实现重量。尝试一步一个脚印:)正如下面提到的每个人一样,您必须连接到表视图委托和数据源方法。如果您能够弄清楚如何将viewcontroller设置为委托和数据源,那么您需要的所有方法都从tableview开始。自动完成应该会有所帮助。我发现使用XIB的建筑视图有点受限。但是,我确实喜欢将XIB用于表格单元格。显示的行数基于表视图委托方法(请参见下面的答案)。每当用户点击enter键时,将该数量的集合添加到数据源中。然后在表视图上调用reload。这将刷新它。