gpt4 book ai didi

ios - UITableView:我想使用一种可以轻松修改部分和行(添加、删除)的方法。

转载 作者:行者123 更新时间:2023-11-29 04:51:03 26 4
gpt4 key购买 nike

我们的应用程序每个月都会发生变化。修改部分和行(添加、删除)非常困难。我需要扫描每个 UITableViewDelegate 的方法并更改它。我正在使用 switch-case 方法。我需要更优雅的方法。

我发布了两个方法的代码,但实际上我必须修改 5 个方法。

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

switch (section)
{
case 0:
{
rows = 3;
break;
}
case 1:
{
rows = 4;
break;
}
case 2:
{
rows = 4;
break;
}
case 3:
{
rows = 4;
break;
}
case 4:
{
rows = 7;
break;
}

default:
rows = 1;
break;
}

return rows;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (indexPath.section)
{
case 0:
{
switch (indexPath.section)
{
case 0:
{
break;
}
case 1:
{
break;
}
case 2:
{
break;
}
default:
break;
}

break;
}
}
}

最佳答案

创建一个类,例如TableManager

将您的 TableView 传递给此类,并让此类提供所有 TableView 的数据。通过设置标签值来区分表格 View 。

现在您将可以控制这一类中的所有表格 View 。

使用枚举代替开关盒中的数字。它将提高代码的可读性。

根据您的实际要求,您也许可以从 plist 中操纵此类的行为。

让我提供一些代码:

定义枚举器

typedef enum { FIRST_TABLE, SECOND_TABLE, THIRD_TABLE } TableViews;


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

[TableManager getNumberOfRowsForTableView:tableView];

}

在你的表格管理器中

+ (NSInteger)getNumberOfRowsForTableView:(UITableView*)theTableView
{

if(theTableView.tag == FIRST_TABLE) //FIRST_TABLE is an enum
{
//Your conditions goes here
return 3;
}

}

关于ios - UITableView:我想使用一种可以轻松修改部分和行(添加、删除)的方法。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8831963/

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