菜鸟教程小白 发表于 2022-12-13 05:28:58

ios - Xcode iOS 仅在本节中添加节和行


                                            <p><p>我想添加部分并在最后创建的部分中添加行。</p>

<p>但是当我添加一个部分并添加一行后,它会为所有部分添加行,我只想要最后创建的部分。</p>

<p>我这样做:</p>

<pre><code>@interface SectionTestViewController ()
{
    NSMutableArray *sectionsArray;
    NSMutableArray *rowsInSectionsArray;
    NSInteger currentSection;
}
@end

@implementation SectionTestViewController

- (void)viewDidLoad {
    ;

    self.myTableView.delegate = self;
    self.myTableView.dataSource = self;

    sectionsArray = [init];
    rowsInSectionsArray = [init];

    currentSection = 0;
}

#pragma tableview delegate and datasource methods

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return sectionsArray.count;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return rowsInSectionsArray.count;
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return ;
}
</code></pre>

<p>添加部分的按钮操作:</p>

<pre><code>- (IBAction)addSectionButton:(id)sender {
    ];

    currentSection++;

    ;
}
</code></pre>

<p>一个按钮添加行的 Action :</p>

<pre><code>- (IBAction)addRowButton:(id)sender {
    ];

    ;
}
</code></pre>

<p>感谢您的帮助</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你应该这样做:</p>

<pre><code>@interface SectionTestViewController ()
{
    NSMutableArray *sectionsArrays;
    NSMutableArray *rowsInSectionsArray;
    NSInteger currentSection;
}
@end

@implementation SectionTestViewController

- (void)viewDidLoad {
    ;

    self.myTableView.delegate = self;
    self.myTableView.dataSource = self;

    sectionsArray = [init];
    rowsInSectionsArray = [init];

    currentSection = 0;
}

#pragma tableview delegate and datasource methods

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return sectionsArray.count;
}

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

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return ;
}
</code></pre>

<p>添加部分的按钮操作:</p>

<pre><code>- (IBAction)addSectionButton:(id)sender {
    ];
    init]];

    currentSection++;

    ;
}
</code></pre>

<p>在最后一节添加行的按钮操作:</p>

<pre><code>- (IBAction)addRowButton:(id)sender {
    [ addObject:.count]];

    ;
}
</code></pre>

<p>我刚刚将 rowsInSectionsArray 转换为数组数组。它包含的每个数组都包含一个部分的行。</p>

<p>请务必在 <code>tableView:cellForRowAtIndexPath:</code> 处执行相同操作。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Xcode iOS 仅在本节中添加节和行,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/28699530/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/28699530/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Xcode iOS 仅在本节中添加节和行