我一直试图在实用程序应用程序中有两个表,但我遇到问题;当我创建两个代表和两个数据源时,出现错误。有没有办法让一个班里有多个代表?如何在实用程序应用程序中创建两个表视图?
回答
实际上,您不能在同一个视图控制器中放置两个表的两个代表和两个数据源。
您可以使用标志或隐藏的UILabel,其中您可以根据标志或标签的值设置唯一值并访问数据源和委托。
例如:
如果我有2个表,一个用于购买,一个用于销售
我将设置的UILabel命名说tableIdentifier
tableIdentifier.text = @"Buy";
当我想加载购买表
,同样设置
tableIdentifier.text = @"Sale";
当我要加载售表
现在只要数据源和委托方法而言,这是怎么一回事呢:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int rows = 0;
if([tableIdentifier.text isEqualToString:@"Buy"])
{
rows = //Your row count for Buy;
}
else if([tableIdentifier.text isEqualToString:@"Sale"])
{
rows = //Your row count for Sale;
}
return rows;
}
类似地,它适用于基于标签或标志值的每个委托和数据源方法。
注:
如果你用,因为我已经如上图所示,那么你需要outlet
该标签在厦门国际银行和@synthesize
标签隐藏的标签,否则其价值将在如果的情况下返回null标签该值不被保留。
希望这有助于你
编辑:
在这种情况下,你可以算作[plist1Array count] + [plist2Array count]
在numberOfRowsInSection:
方法
在cellForRowAtIndexPath:
方法,你可以检查indexPath。基于行和负荷数据
if(indexPath.row <=[plist1Array count])
{
//Load data in cell.textLabel.text From `plist1Array`
}
else if(indexPath.row >[plist1Array count] && indexPath.row <[plist2Array count])
{
//Load data in cell.textLabel.text From `plist2Array`
}
编辑-1:
如果你愿意,你可以只显示他们在同一个表的不同部分,而不是向他们展示在两个不同的表像
在numberOfRowsInSection:
方法
int j = 0;
if(indexPath.section == 0)
{
j=[plist1Array count];
}
else if(indexPath.section == 1)
{
j=[plist2Array count];
}
return j;
而在cellForRowAtIndexPath:
方法
if(indexPath.section == 0)
{
//Load data in cell.textLabel.text From `plist1Array`
}
else if(indexPath.section == 1)
{
//Load data in cell.textLabel.text From `plist2Array`
}
希望这有助于
@PARTH:我错过了什么,导致你把自己的答案? – Jhaliya 2011-03-18 03:55:58
感谢您的快速回复......其实我在视图中有两个表格视图,每个表格都是从不同的plists中获取数据。我想在程序加载的同时显示两个数据。我只知道如何将它显示在一个表格中,而不是在两个表格中。因为我只使用一个委托和数据源,不知道如何使用多个委托。 – Fadel 2011-03-18 04:02:32
@Jhaliya:实际上可能是你没有错过任何东西,但是当你发布它的时候我正在输入我的答案。我可以问你关于这个链接的相同问题:http://stackoverflow.com/questions/5343969/preventing-uitableview-from-scrolling/5344072#5344072但无论如何离开它,因为没有争论点。 – 2011-03-18 04:33:19
保持您的委托和数据源功能的单一出现。
只要使用下面的方法,并放在每个函数(Just Sample)的开头。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if(myTableOne == tableView)
{
return 5;
}
else if(myTableSecond == tableView)
{
return 10;
}
}
- 1. 如何在我的视频应用程序中创建一个列表视图?
- 2. 如何从Cocoa应用程序创建“打印实用程序”?
- 3. 如何在基于视图的应用程序中创建NavigationController?
- 4. 如何在java小应用程序中创建图形实例
- 5. 如何在RCP应用程序中连接两个视图
- 6. android在视图中创建快捷应用程序视图
- 7. 如何以编程方式创建iOS应用程序视图
- 8. 如何在应用程序中创建一个CLLocationManager实例?
- 9. 如何在云中创建应用程序的多个实例
- 10. 如何在网络应用程序中创建图表?
- 11. 如何在java web应用程序中创建图表
- 12. 如何在Android应用程序的单个数据库中创建两个表?
- 13. 如何为iPad应用程序创建甘特图视图?
- 14. 如何在单个应用程序中创建带应用程序小部件的android应用程序
- 15. 在iPhone应用程序中创建图表和图表?
- 16. 实用程序应用程序和基于视图的应用程序
- 17. 如何用两个线程创建一个具有高速应用程序的Python应用程序
- 18. 如何创建一个链接,将在应用程序页面顶部打开应用程序和Web视图?
- 19. 如何创建Fusion应用程序定制应用程序
- 20. 如何在我的android应用程序中创建以上各个视图?
- 21. 如何从实时应用程序引擎应用程序创建local_db.bin
- 22. 在地铁应用程序中创建WCF应用程序
- 23. 在设置应用程序中创建应用程序设置
- 24. 如何在Web应用程序中创建实时协调锁?
- 25. 如何在ASP.NET应用程序中创建类的实例
- 26. 如何创建360°视图的应用程序?
- 27. 如何创建javaFX应用程序视图
- 28. xcode 4.5.2如何创建基于视图的应用程序
- 29. 如何为Windows Phone 8应用程序创建图表/图形?
- 30. 如何实现两个内部应用程序的应用程序ios
你必须要更加具体。将您的代码修剪成可轻松发布的示例,以便我们可以看到您已经尝试过的内容,并发布您收到的实际错误消息。否则,我们几乎没有希望能够帮助你。 – Anomie 2011-03-18 03:35:54