Если бы я был вами, я бы не делал все ваши данные прямо во время выполнения, если бы у вас было "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;
На мой взгляд, намного проще.