新目标 c. 我NSArray
用来填充我的UITableView
. 有没有办法从数组和cell.textLabel.text
. 这就是我所做的:
- (void)viewDidLoad
{
[super viewDidLoad];
alTableView.delegate = self;
alTableView.dataSource = self;
NSArray *BusRoute = alightDesc;
int i;
int count = [BusRoute count];
for (i = 0; i < count; i++)
{
NSDictionary *STEPS = [dic valueForKey:@"STEPS"];
alDescArray = [[STEPS valueForKey:@"AlightDesc"] retain];
boardDescArray = [[STEPS valueForKey:@"BoardDesc"] retain];
NSLog(@"boardDescArray = %@", boardDescArray);
serviceID = [[STEPS valueForKey:@"ServiceID"] retain];
}
}
- (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];
}
cell.textLabel.font = [UIFont systemFontOfSize:14]; //Change this value to adjust size
cell.textLabel.numberOfLines = 10;
cell.textLabel.text = [NSString stringWithFormat:@"Walk to and board at %@\nTake Bus Service = %@\nAlight Destination = %@",[boardDescArray objectAtIndex:indexPath.row], [serviceID objectAtIndex:indexPath.row], [alDescArray objectAtIndex:indexPath.row]];
NSLog(@"cell = %@", cell.textLabel.text);
return cell;
}
在第二个单元格打印出来,Walk to and board at(Null)
有没有办法从桌子上删除那句话?
结果:
alDescArray = (
"OPP",
"OPP",
"OPP"
)
boardDescArray = (
"BLK",
"AFT",
""
)
serviceID = (
66,
43,
72
)
cell = Walk to and board at BLK 7
Take Bus Service = 11
Alight Destination = BLK 11
cell = Walk to and board at
Take Bus Service = 3
Alight Destination = BLK 16
cell = Walk to and board at BLK 38
Take Bus Service = 9
Alight Destination = AA
更新答案
- (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];
}
cell.textLabel.font = [UIFont systemFontOfSize:14]; //Change this value to adjust size
cell.textLabel.numberOfLines = 10;
NSString *boardDesc = [boardDescArray objectAtIndex:indexPath.row];
NSString *serviceId = [serviceID objectAtIndex:indexPath.row];
NSString *alDesc = [alDescArray objectAtIndex:indexPath.row];
NSLog(@"serviceId - %@",serviceId);
NSString *resultString2 = [NSString stringWithString:@""];
//make a check before making the string
if ([boardDesc length]>0) {
resultString2 =[resultString2 stringByAppendingFormat:@"Walk to and board at %@,",boardDesc];
}
if ([serviceId length]>0) {
resultString2 =[resultString2 stringByAppendingFormat:@"Take Bus Service %@: ",serviceId];
}
if ([alDesc length]>0) {
resultString2 =[resultString2 stringByAppendingFormat:@"Alight Destination %@: ",alDesc];
}
//string that doesnot print null values
NSLog(@"resultString2 - %@",resultString2);
cell.textLabel.text = resultString2;
NSLog(@"cell = %@", cell.textLabel.text);
return cell;
}