xcode - 在 XCode 中将单元格添加到 TableView (UITableView)

标签 xcode uitableview cell

我是 X-Code 的新手,刚刚开始开发我的第一个应用程序。我正在使用 Storyboard。在导航 Controller 场景中,我添加了一个带有两个单元格的 MasterViewController,这导致两个 DetailViewControllers(Detail1 和 Detail 2)。

  • 列数 = 1
  • 列中的行数 = 2

  • 我在属性检查器中为单元格添加了重用指示器,并在 Storyboard 中建立了连接。

    但是当我运行应用程序时,我只能看到第一个单元格 x2。

    当我查看 MasterViewController.m 时,我可以看到第一个单元格的代码,但我不明白如何插入第二个单元格等!

    我知道解决方案很简单,我一直在寻找答案 3 天了,我觉得很愚蠢,但我现在真的需要一些帮助,,

    有人可以帮助我了解如何在代码中添加更多单元格,并且可能更多地了解表格 View 代码吗?

    到目前为止,这是表格 View 的代码:
    #pragma mark - Table view data source
    
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
    // Return the number of sections.
    return 1;
    }
    
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
    // Return the number of rows in the section.
    return 2;
    }
    
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    static NSString *CellIdentifier = @"Formal";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    // Configure the cell...
    
    return cell;
    }
    
    /*
    // Override to support conditional editing of the table view.
    - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
    {
    // Return NO if you do not want the specified item to be editable.
    return YES;
    }
    */
    
    /*
    // Override to support editing the table view.
    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
    {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath][withRowAnimation:UITableViewRowAnimationFade];
    }   
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }   
    }
    */
    
    /*
    // Override to support rearranging the table view.
    - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
    {
    }
    */
    
    /*
    // Override to support conditional rearranging of the table view.
    - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
    {
    // Return NO if you do not want the item to be re-orderable.
    return YES;
    }
    */
    
    #pragma mark - Table view delegate
    
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
    // Navigation logic may go here. Create and push another view controller.
    /*
     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
     // ...
     // Pass the selected object to the new view controller.
     [self.navigationController pushViewController:detailViewController animated:YES];
     */
    }
    
    @end
    

    最佳答案

    假设您有一个名为 arr 的数组。

    然后,当调用 numberOfRowsInSection 时,您必须返回数组中的对象数。

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        // Return the number of rows in the section.
        return [arr count];
    }
    

    您的 cellForRowAtIndexPath 委托(delegate)方法应该像这样打印出数组中的字符串。
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    static NSString *CellIdentifier = @"Formal";
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                                       reuseIdentifier:CellIdentifier] autorelease];
    }
    
    // Configure the cell.
    
    cell.textLabel.text = [arr objectAtIndex:indexPath.row];
    
        return cell;
    }
    

    希望这可以帮助!

    关于xcode - 在 XCode 中将单元格添加到 TableView (UITableView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866813/

    相关文章:

    excel - 如果循环单元是 = 到前一个,有没有办法 [VBA] 来检查每个循环?

    ios - Xcode如何自动完成动态方法

    xcode - 如何防止 Storyboard 调整(拉伸(stretch))以 UIView 为中心的 UIImage 的大小?

    ios - XCODE/IOS - 如何使用独占扩展立即呈现 whatsapp (.wai, .waa, .wam)

    iOS 11 UITableView 错误

    ios - 为什么 cellForRowAtIndex 根本不运行?

    arrays - 修改大型元胞数组以在 MATLAB 中查找满足条件的某些行

    swift - 如何向自定义 UITableViewCell 添加约束

    objective-c - 如何在 iPad 的单 View 应用程序中以编程方式正确实例化和显示 View

    ios - 如何在单元格中启用 Google map 按钮?