我現在堅持如何創建我的UITableView。現在它可以正常工作,1個對象爲它的行和單元格提供數據。問題是,我有第二個對象,我也想在表視圖中使用。通常,這非常簡單,我只需在UITableView中創建2個部分,併爲第一部分使用一個對象,並在第二部分使用第二個對象。使用2個不同的對象創建一個UITableView
但是對於這個UITableView,我只想使用1節。我需要用對象的兩個文本以編程方式填充行和單元格。我不知道如何做到這一點,但只使用1節。
這裏都是我的方法實現,有助於創造我的UITableView的:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1 ;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.messages count];
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
return @"Inbox Messages";
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"SettingsCell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];
PFObject *message = [self.messages objectAtIndex:indexPath.row];
UIImage *selectMessageButtonImage = [UIImage imageNamed:@"SliderThumb-Normal-G"];
UIImage *selectMessageButtonImageHighlighted = [UIImage imageNamed:@"SliderThumb-Normal"];
UIButton *openMessageButton = [[UIButton alloc]init];
openMessageButton.frame = CGRectMake(237, -10, 64, 64);
[openMessageButton setImage:selectMessageButtonImage forState:UIControlStateNormal];
[openMessageButton setImage:selectMessageButtonImageHighlighted forState:UIControlStateHighlighted];
[openMessageButton setImage:selectMessageButtonImageHighlighted forState:UIControlStateSelected];
[openMessageButton addTarget:self action:@selector(handleTouchUpInside:) forControlEvents:UIControlEventTouchUpInside];
openMessageButton.tag = indexPath.row;
[cell.textLabel setText:[message objectForKey:@"senderName"]];
NSString *fileType = [message objectForKey:@"fileType"];
if([fileType isEqualToString:@"image"]) {
cell.imageView.image = [UIImage imageNamed:@"icon_image"];
} else {
//no image
}
[cell.detailTextLabel setText:@""];
[cell.contentView addSubview:openMessageButton];
return cell;
}
,我現在使用的這種的UITableView的對象稱作message
。我想創建一個名爲message2
的第二個對象,並將它的數據放在UITableView中。
我意識到,對於numberOfRowsInSection
方法實現我可以只返回兩個對象的添加計數,但我不知道如何將第二個對象工作到代碼的其餘部分。
我建議你寫在你的2個數據源的包裝,它隱藏了複雜的'UITableView'也是一個'UITableView DataSource'。如果您要求,該包裝必須處理所有更改並提供正確的對象。 –
爲什麼不只是添加這兩個數組? 'self.allMessages = [messages arrayByAddingObjectsFromArray:messages2];' – DrummerB