gpt4 book ai didi

iOS 5 : numberOfRowsInSection doesn't work

转载 作者:行者123 更新时间:2023-12-01 18:27:39 26 4
gpt4 key购买 nike

我在 storybord 和 UISegmentedControl 中有一个 tableView 来用不同的数据和不同的设计填充上面提到的表格。我的问题是 numberOfRowsInSection 方法在我切换 UISegmentedControl 时没有反应。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(self.segment.selectedSegmentIndex==0)
{
return [self.items count];
NSLog(@"Nominals: %d",self.items.count);
}
if(self.segment.selectedSegmentIndex==1)
{
return [self.coinageArr count];
NSLog(@"Coinage: %d",self.coinageArr.count);
}
//return 0; Complains about no return.
}

好吧,NSLogs 在导航时不起作用。在这种情况下如何返回 NSInteger ?

提前谢谢。

编辑:对于shannoga

段 Controller 切换方法:
-(IBAction)segmentValueChaged:(id)sender
{
switch (self.segment.selectedSegmentIndex)
{
case 0:
{
DBAccess *access=[[DBAccess alloc]init];
self.items=[access returnNominals:self.entityID nk:fromPeriod];
[access closeDataBase];
self.tableView.hidden=NO;
[self.tableView reloadData];
break;
}
case 1:
{
DBAccess *access=[[DBAccess alloc]init];
self.coinageArr=[access returnCoinage:fromPeriod period:self.entityID];
self.tableView.hidden=NO;
[self.tableView reloadData];

break;
}
}
}

最佳答案

  • NSLog 不起作用,因为返回在您到达此行之前生效,并且永远不会执行。

  • 将其更改为:
        - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
    if(self.segment.selectedSegmentIndex==0)
    {
    NSLog(@"Nominals: %d",self.items.count);
    return [self.items count];
    }
    if(self.segment.selectedSegmentIndex==1)
    {
    NSLog(@"Coinage: %d",self.coinageArr.count);
    return [self.coinageArr count];
    }
    //return 0; Complains about no return.
    }
  • 您能否显示更改 UISegmentedControl 时调用的方法?
  • 请注意,您不需要设置 2 if 语句,您可以使用 else .
  • 正如@Ryan 所说,您应该使用 [tableview reloadData]在您的 UISegmentedControl 更改上。那么改self.items就好了valueChanged 中的数组方法并离开 numberOfRowsInSection没有改变,所以它看起来像这样:
      - (void)valueChanged:(id)sender
    {
    if(self.segment.selectedSegmentIndex==0)
    {
    self.items = what ever
    }else{
    self.items = what ever
    }
    [tableview reloadData];
    }

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

  • 祝你好运

    关于iOS 5 : numberOfRowsInSection doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974699/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com