//省类声明
{
NSString *_proName;
NSMutableArray *_cityArray;
}
-(void)setProname:(NSString *)proName;
-(NSString *)proName;
-(void)setCityArray:(NSMutableArray *)cityArray;
-(NSMutableArray *)cityArray;
//省类实现-(void)setProname:(NSString *)proName{
_proName = proName;
}
-(NSString *)proName{
return _proName;
}
-(void)setCityArray:(NSMutableArray *)cityArray{
_cityArray = cityArray;
}
-(NSMutableArray *)cityArray{
return _cityArray;
}
//市类声明
{
NSString *_cityName;
NSMutableArray *_zoneArray;
}
-(void)setCityName:(NSString *)cityName;
-(NSString *)cityName;
-(void)setZoneArray:(NSMutableArray *)zoneArray;
-(NSMutableArray *)zoneArray;
//市类实现-(void)setCityName:(NSString *)cityName{
_cityName = cityName;
}
-(NSString *)cityName{
return _cityName;
}
-(void)setZoneArray:(NSMutableArray *)zoneArray{
_zoneArray = zoneArray;
}
-(NSMutableArray *)zoneArray{
return _zoneArray;
}
//区类声明:
{
NSString *_zoneName;
}
-(void)setZoneName:(NSString *)zoneName;
-(NSString *)zoneName;
//区类方法实现
-(void)setZoneName:(NSString *)zoneName{
_zoneName = zoneName;
}
-(NSString *)zoneName{
return _zoneName;
}
代码:
int main(int argc, const char * argv[]) {
//载入文件
NSString *path = @"/Users/dllo/Desktop/向又欠/20151108/Area06/Area06/area.txt";
NSString *areaText = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncodingerror:nil];
//截取每一行字符串
NSArray *areaArray = [areaText componentsSeparatedByString:@"\n"];
//定义一个省数组存放省类
NSMutableArray *proArray = [NSMutableArray array];
//遍历地区数组
for (NSString *str in areaArray) {
//解析字符串,如果是省,创建省类对象存放省名,并创建市数组
if (![str hasPrefix:@" "]) {
//创建省类,存放省名,和市数组
Pro *pros = [[Pro alloc] init];
// [pros proName] = str;
[pros setProname:str];
//创建存放市类的市数组
NSMutableArray *cityArray = [NSMutableArray array];
[pros setCityArray:cityArray];
//将省类存入省数组
[proArray addObject:pros];
}else if([str hasPrefix:@" "] &&![str hasPrefix:@" "]){
//创建市类对象存放市名
City *citys = [[City alloc] init];
//citys.cityName = str;
[citys setCityName:str];
//创建存放区名的区数组
NSMutableArray *zoneArray = [NSMutableArray array];
[citys setZoneArray:zoneArray];
//将市对象存入市数组
[[[proArray lastObject] cityArray]addObject:citys];
}else{
//创建区类存放区名
Zone *zones = [[Zone alloc] init];
//zones.zoneName = str;
[zones setZoneName:str];
//将区对象存入区数组
[[[[[proArray lastObject] cityArray]lastObject] zoneArray]addObject:zones];
}
}
//遍历输出
for (Pro *pro in proArray) {
NSLog(@"pro:%@", pro.proName);
for (City *city in pro.cityArray) {
NSLog(@"city:%@", city.cityName);
for (Zone *zone in city.zoneArray) {
NSLog(@"zone:%@", zone.zoneName);
}
}
}
}
程序运行截图: