我一直試圖在實用程序應用程序中有兩個表,但我遇到問題;當我創建兩個代表和兩個數據源時,出現錯誤。有沒有辦法讓一個班裏有多個代表?如何在實用程序應用程序中創建兩個表視圖?
回答
實際上,您不能在同一個視圖控制器中放置兩個表的兩個代表和兩個數據源。
您可以使用標誌或隱藏的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. 如何在基於視圖的應用程序中創建NavigationController?
- 3. 如何在java小應用程序中創建圖形實例
- 4. android在視圖中創建快捷應用程序視圖
- 5. 如何在應用程序中創建一個CLLocationManager實例?
- 6. 如何在雲中創建應用程序的多個實例
- 7. 如何在網絡應用程序中創建圖表?
- 8. 如何在Android應用程序的單個數據庫中創建兩個表?
- 9. 如何爲iPad應用程序創建甘特圖視圖?
- 10. 在iPhone應用程序中創建圖表和圖表?
- 11. 如何在單個應用程序中創建帶應用程序小部件的android應用程序
- 12. 實用程序應用程序和基於視圖的應用程序
- 13. 如何創建一個鏈接,將在應用程序頁面頂部打開應用程序和Web視圖?
- 14. 如何用兩個線程創建一個具有高速應用程序的Python應用程序
- 15. 如何在我的android應用程序中創建以上各個視圖?
- 16. 如何創建Fusion應用程序定製應用程序
- 17. 如何從實時應用程序引擎應用程序創建local_db.bin
- 18. 如何創建360°視圖的應用程序?
- 19. 在設置應用程序中創建應用程序設置
- 20. 在地鐵應用程序中創建WCF應用程序
- 21. 如何在Web應用程序中創建實時協調鎖?
- 22. 如何在ASP.NET應用程序中創建類的實例
- 23. 如何在TabBar iOS應用程序中實現模態視圖
- 24. 如何在Mac OS X應用程序中實現UITabBar視圖?
- 25. Android應用程序創建兩次
- 26. 如何使用EventStore在實踐中構建新的應用程序視圖?
- 27. 如何創建通用應用程序?
- 28. 在python應用程序中創建stdout文本視圖
- 29. 在iPhone中創建電話應用程序的通話視圖
- 30. 在Silverlight中創建繪圖/圖表應用程序的指導
你必須要更加具體。將您的代碼修剪成可輕鬆發佈的示例,以便我們可以看到您已經嘗試過的內容,併發布您收到的實際錯誤消息。否則,我們幾乎沒有希望能夠幫助你。 – Anomie 2011-03-18 03:35:54