构建省市区(OC练习题)

来源:互联网 发布:甄嬛传 三观不正 知乎 编辑:程序博客网 时间:2024/05/21 17:19

构建省市区

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


.m

#import "Country.h"


@implementation Country

- (id)initWithName:(NSString *)name array:(NSMutableArray *)array

{

    self = [super init];

     if (self) {

        _name = name;

        _array = array;

    }

     returnself;

}

+ (Country *)countryWithName:(NSString *)name array:(NSMutableArray *)array

{

    Country * country = [[Country alloc]initWithName:name array:array];

     return country;

}

@end


创建类——Province

.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


.m

#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


创建类——City

.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


.m

#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







0 0