我想在單個UIView上放2個TableViews。我已經實現了所需的方法。我已經用斷點測試了應用程序,並且此方法失敗。多個UITableView在單個UIView
我有2個tableviews:radios_tv和presets_tv 從其中獲得計數委託兩個數組:array_radios和array_presets array_radios包含10個元素。 array_presets包含30個元素。
我測試過的部分:
if (tableView == self.presets_tv) {
return appDelegate.array_presets.count; //Contains 30 elements in the array_radios
}
一切都OK了,如果我把返回低於10任何東西,但這個項目失敗了SIGABRT錯誤,如果回報率是大於10,在我的情況下,因爲array_presets包含30個元素,所以失敗。
下面是我的代碼:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
MyApplicationAppDelegate *appDelegate = (MyApplicationAppDelegate *)[[UIApplication sharedApplication] delegate];
if (tableView == self.radios_tv){
return appDelegate.array_radios.count; //Contains 10 elements in the array_radios
}
if (tableView == self.presets_tv) {
return appDelegate.array_presets.count; //Contains 30 elements in the array_radios
}
}
這是我cellForAtRowIndex
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
// Set up the cell
MyAppAppDelegate *appDelegate = (MyAppAppDelegate *)[[UIApplication sharedApplication] delegate];
if (tableView == radios_tv) { //radio_tv is an IBOutleet UITableView
sqlClass *aRadio = (sqlClass *)[appDelegate.array_radios objectAtIndex:indexPath.row];
[cell setText:aRadio.r_name];
return cell;
}
if (tableView == presets_tv) { //preset_tv is an IBOutlet UITableView
}
}
你能幫我請。
您能否顯示您的「cellForRowAtIndexPath」方法? – 2010-08-02 10:49:44
它可能不會影響它,但請嘗試使用「return [[appDelegate.array_presets] count];」。 – 2010-08-02 10:50:43
這不起作用詹姆斯,多虧了...... – awlcs 2010-08-02 14:11:37