2011-10-13 36 views
3

假設我有部分1,2和3在一個表視圖,不同部分包含在IOS表視圖內的不同數目的行

對於部分1,它有3個排
對於部分2,它有5排
對於第3節,它具有1行

在Objective-C,我怎麼能實現numberOfSectionsInTableViewnumberOfRowsInSection這個動作?除了這兩個功能之外,我還需要做什麼其他的事情?由於

回答

8

如果是這樣那麼靜態數據做這樣

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ 
return 3; 
} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 

if(section==0) 
return 3; 
else if(section==1) 
return 5; 

return 1; 
} 

,如果它是基於數據的基礎上再進行適當的數據結構,並用它來管理。

+0

如果數據是動態的實現,我怎麼能達到同樣的目標(行的不同部分有不同的編號)?謝謝 –

+1

使你想要顯示的字典,並用一個鍵在其中設置一個數組,然後填充數組,然後爲包含字典和行訪問字典索引path.section和鍵(這個給出一個數組),然後計數它顯示該列的行數。 – Ishu

7
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 3; 
} 

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

    if (section == 0) 
     return 3; 

    if (section == 1) 
     return 5; 

    if (section == 2) 
     return 1; 

    return 0; 

} 

您還需要在免得UITableViewDataSource方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
+0

如果數據是動態的,我該如何實現相同的目標(具有不同行號的不同部分)?謝謝 –

+0

例如,您可以使用NSArray(或NSDictionary)NSArrays,例如,返回主節數的節數,以及每個節中的行數的子節點數。 – jbat100

+0

可能要爲這種情況使用switch語句。使用更簡單,效率更高。 – Nshweky

相關問題