我在UITableView中遇到头发拉扯的问题。我只是想从数组中选择一个名称字段。我一定在做些愚蠢的事,但看不到。任何想法请..
NSMutableArray *localStop = [localArray objectAtIndex:indexPath.row];
NSLog(@"localStop: %@", localStop);
BOTH OF THESE RETURN NULL
cell.nameLabel.text = [[localArray objectAtIndex:indexPath.row] valueForKey:@"Name" ];
OR
cell.nameLabel.text = [localStop valueForKey:@"Name"];
NSLog(@"localStop Name1: %@", cell.nameLabel.text);
NSLog(@"localStop Name2: %@", [[localArray objectAtIndex:indexPath.row] valueForKey:@"Name"]);
无论如何,电池在细胞中显示为空,但会在控制台中正确显示。
CONSOLE OUTPUT:
localStop: {
Lat = "38.928922";
Lon = "-77.037531";
Name = "MT PLEASANT ST NW + IRVING ST NW";
Routes = (
42,
43
);
StopID = 1002005;
}
localStop Name1: (null)
localStop Name2: MT PLEASANT ST NW + IRVING ST NW
最佳答案
你宣布
NSMutableArray *localStop
作为数组,当您在数组上调用
valueForKey
时,应返回一个NSArray
。不是NSString
。 (localArray
是二维数组吗?)我认为您应该将
localStop
声明为NSMutableDictionary
但是当然,我不确定是否是这种情况,因为我不知道
localArray
中包含哪种数据。但是,如果
localArray
是NSDictionary
数组,那么我不知道为什么它返回NULL:cell.nameLabel.text = [[localArray objectAtIndex:indexPath.row] valueForKey:@"Name"];
如果
localArray
是二维数组,那么很明显为什么会有问题。您正在尝试将UILabel
的文本属性设置为带有NSString
的NSArray
(仍然不应该看到NULL,而是将数组的内容作为字符串),我也感到困惑:)