Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带有原型单元、截面的复杂UITableView_Ios_Objective C_Uitableview_Storyboard - Fatal编程技术网

Ios 带有原型单元、截面的复杂UITableView

Ios 带有原型单元、截面的复杂UITableView,ios,objective-c,uitableview,storyboard,Ios,Objective C,Uitableview,Storyboard,我正在寻找复杂UITableView的最佳解决方案。我想要的是:我有一个任意数量的节在这个节中只有一个静态单元格,然后应该有任意数量的动态单元格 我的数据存储在一些NSMutableArray中,我尝试过这样的想法: 但是我不知道如何处理我的问题。 有人能给我一个提示或最佳实践吗? 更新:1 Fiddle显示我的数据的外观以及我试图做的事情 这张图片显示了我想如何编码我的tableview。。。 当您使用术语“静态”时,您真的是在说“uitableview静态单元格”,还是说“具有静态内容的


我正在寻找复杂UITableView的最佳解决方案。

我想要的是:
我有一个任意数量的节
在这个节中只有一个静态单元格,然后应该有任意数量的动态单元格

我的数据存储在一些NSMutableArray中,我尝试过这样的想法:

但是我不知道如何处理我的问题。 有人能给我一个提示或最佳实践吗?
更新
1

Fiddle显示我的数据的外观以及我试图做的事情

这张图片显示了我想如何编码我的tableview。。。

当您使用术语“静态”时,您真的是在说“uitableview静态单元格”,还是说“具有静态内容的单元格”? 如果是前者;你为什么需要这个? 如果是后者;在每个小节中测试这是否是小节中的第一个单元格,然后显示静态内容如何?对于所有其他单元格,显示动态内容:

if (indexPath.row == 0) {
    // First row in section. Display static content
    ...
} else {
    // Display dynamic content
    ...
}

你需要静态电池的目的是什么?

因此,经过一段时间的测试,并听取了你的想法和技术,我解决了我的问题
下面是一个小代码:

-(NSInteger)节数表视图:(UITableView*)表视图
{
返回[mappedSprints计数];
}
-(NSString*)表格视图:(UITableView*)表格视图标题标题标题部分:(NSInteger)部分
{
UISprint*s=[mappedSprints对象索引:节];
返回s._名称;
}
-(NSInteger)表视图:(UITableView*)表视图行数节:(NSInteger)节
{
UISprint*s=[mappedSprints对象索引:节];
返回[s.internalUserStorey计数]+[s.externalUserStorey计数]+1;
}
-(CGFloat)tableView:(UITableView*)表视图行高度索引路径:(NSIndexPath*)索引路径
{
if(indexPath.row==0){
返回130;
}
返回80;
}
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{
UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@“单元格%d%d”,indexath.row,indexath.section];
如果(单元格==nil){
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault重用标识符:[NSString stringWithFormat:@“单元格%d%d”,indexath.row,indexath.section]];
}
UISprint*s=[mappedSprints objectAtIndex:indexPath.section];
if(indexPath.row==0){
//这是我的第一个手机
//cell.textlab.text=s.\u名称;
}
else if(indexPath.row>=0&&indexPath.row=[s.internalUserStorey计数]){
//下面是第2项的单元格
}
返回单元;

谢谢大家!!
您可以选择一个NSMUataableArray并在其上添加引用,即

NSMuatableArray *arr=[NSMuatableArray alloc]init];

//section no 1 
[arr addObject:@"2"]; 

//section no 2 
[arr addObject:@"1"];

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

   switch(arr objectAtIndex[indexPath.row])
  {
  } 
}

您可以通过使用想要设置单元格的引用来使用这种方法。

您的问题看起来是相同的,那么您在实现另一个问题的解决方案时遇到了哪些问题?我不知道如何使用不同类型的单元格创建x个分区。我的想法是:myArray中的foreach项创建一个分区。foreach分区添加一个静态单元格并[myotherArray count]动态单元格…为什么不是数组数组数组?外部数组是节,每个内部数组是节的动态行…您可以使用tableView委托方法:-
(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{return[self.myArray count];}
创建所需的部分。将其与您阅读的线程中的答案结合使用。您所称的静态单元格不是静态的,因为每个部分的名称不同,因此您仍然需要从数据结构中获取其内容。要获取每个部分中的行数,您必须添加标题单元格(您调用的静态单元格)的子项和子项2加1中的元素数量。尝试使用您的数据结构来填充表将非常复杂,因此我可能会首先将该数据解析为数组数组以使其更简单。顺便说一句,带数组的数组对于您的设置是完全可以接受的。您可能希望在内容数组中添加虚拟项,以与每个部分中的静态第一个单元格相匹配。为什么您希望项目名称位于第一节行,而不是节标题中?我可以这样设想:您的“项目”可能是一张音乐唱片。您知道该唱片有一个名称(item.name),但不知道有多少首曲目(子项)记录可以有。因此,对于您的记录集合,您希望每个记录都有一个分区,并希望曲目有任意数量的行。这与您的数据类型匹配吗?如果匹配,请使用分区标题而不是“静态单元格”,然后对子项使用普通的动态单元格。没错,这只是为了测试!我的节标题将成为另一种描述。您可以使用一个数组作为节标题(记录名称),使用一个数组作为子项(轨迹名称)的数组来实现这一点.如果子项1和子项2字段都在同一节中,您提供的代码如何提供区分这些字段的可视线索?
NSMuatableArray *arr=[NSMuatableArray alloc]init];

//section no 1 
[arr addObject:@"2"]; 

//section no 2 
[arr addObject:@"1"];

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

   switch(arr objectAtIndex[indexPath.row])
  {
  } 
}