- (void)viewDidLoad {
[super viewDidLoad];
definedNames = [[NSArray alloc] initWithObjects:@"Ohio", @"Newark", @"Steve", @"Coffee", nil];
definedAmounts = [[NSArray alloc] initWithObjects:@"5", @"100", @"1", @"72", nil];
}
例如。所以这些数字与它匹配的名称一致,但是当我搜索它时,数字仍然按照该搜索名称
的顺序排列 搜索前: http://img855.imageshack.us/i/screenshot20110327at302.png
寻找纽瓦克: http://img849.imageshack.us/i/screenshot20110327at303.png
纽瓦克应保持100的价值。有人可以解释一下如何对待这件事吗?我会很感激。此外,我有超过1000个条目,这些值显示在自定义单元格中。
感谢
答案 0 :(得分:0)
如果我是你,如果你像你说的那样拥有“1000”,我就不会在运行时正确地提供你的所有数据。我会做一个plist
,看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<array>
<string>Ohio</string>
<string>5</string>
</array>
<array>
<string>Newark</string>
<string>100</string>
</array>
</array>
</plist>
例如,将其保存为cities.plist
。
然后在初始化代码中,抓住plist并使用它初始化数组:
NSString *citiesPath = [[NSBundle mainBundle]
pathForResource:@"cities"
ofType:@"plist"];
self.definedCities = [[NSMutableArray alloc] initWithContentsOfFile:citiesPath];
然后在cellForRowAtIndexPath
中,您可以通过以下方式设置您的单元格:
NSUInteger row = [indexPath row];
NSString *city = [[cityData objectAtIndex:row] objectAtIndex:0]; //use index 1 if you want number
cell.textLabel.text = city;
return cell;
在我看来,这简单得多。