构建省市区
main.m
#import <Foundation/Foundation.h>
#import "Country.h"
#import "Province.h"
#import "City.h"
int main(int argc, const char * argv[])
{
NSString * path = @"/Users/dlios/Desktop/area.txt";//导入文档地址
NSString * data = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSArray * dataArr = [data componentsSeparatedByString:@"\n"];
Country * country = [Country countryWithName:@"china" array:[NSMutableArray array]];
NSMutableArray * proArr = [country array];
for (NSString*str in dataArr) {
//省
if (![str hasPrefix:@" "]) {
Province * province = [Province provinceWithName:str array:[NSMutableArray array]];
[proArr addObject:province];
}
//市
else if ([str hasPrefix:@" "] && ![str hasPrefix:@" "]){
City * city = [City cityWithName:str array:[NSMutableArray array]];
Province * pro = [proArr lastObject];
NSMutableArray * cityArr = [pro array];
[cityArr addObject:city];
}
//区
else{
Province * pro = [proArr lastObject];
City * city = [[pro array]lastObject];
NSMutableArray * areaArr = [city array];
[areaArr addObject:str];
}
}
//遍历
for (Province * province in [country array]) {
NSLog(@"%@",[province name]);
for (City * city in [province array]) {
NSLog(@"%@",[city name]);
for (NSString * str in [city array]) {
NSLog(@"%@",str );
}
}
}
return 0;
}
创建类——Country}
.h
#import <Foundation/Foundation.h>
@interface Country : NSObject
@property NSString * name;
@property NSMutableArray * array;
- (id)initWithName:(NSString *)name array:(NSMutableArray *)array;
+ (Country *)countryWithName:(NSString *)name array:(NSMutableArray *)array;
@end
#import "Country.h"
@implementation Country
- (id)initWithName:(NSString *)name array:(NSMutableArray *)array
{
self = [super init];
if (self) {
_name = name;
_array = array;
}
return self;
}
+ (Country *)countryWithName:(NSString *)name array:(NSMutableArray *)array
{
Country * country = [[Country alloc]initWithName:name array:array];
return country;
}
@end
.h
#import <Foundation/Foundation.h>
@interface Province : NSObject
@property NSString * name;
@property NSMutableArray * array;
- (id)initWithName:(NSString *)name array:(NSMutableArray *)array;
+ (Province *)provinceWithName:(NSString *)name array:(NSMutableArray *)array;
@end
#import "Province.h"
@implementation Province
- (id)initWithName:(NSString *)name array:(NSMutableArray *)array
{
self = [super init];
if (self) {
_name = name;
_array = array;
}
return self;
}
+ (Province *)provinceWithName:(NSString *)name array:(NSMutableArray *)array
{
Province * province = [[Province alloc]initWithName:name array:array];
return province;
}
@end
.h
#import <Foundation/Foundation.h>
@interface City : NSObject
@property NSString * name;
@property NSMutableArray * array;
- (id)initWithName:(NSString*)name array:(NSMutableArray *)array;
+ (City*)cityWithName:(NSString *)name array:(NSMutableArray *)array;
@end
#import "City.h"
@implementation City
- (id)initWithName:(NSString *)name array:(NSMutableArray *)array
{
self = [super init];
if (self) {
_name = name;
_array = array;
}
return self;
}
+ (City *)cityWithName:(NSString *)name array:(NSMutableArray *)array
{
City * city = [[City alloc]initWithName:name array:array];
return city;
}
@end