OC4_电子词典

//
//  MyDictionary.h
//  OC4_电子词典
//
//  Created by zhangxueming on 15/6/15.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>

#define FilePath @"/Users/zhangxueming/Desktop/ios1509/Day16_类的复合设计/dict.txt"

@interface MyDictionary : NSObject
{
    NSMutableDictionary *_mulDict;
}

- (id)initWithFile:(NSString *)path;

+ (void)userInterface;

@end
//
//  MyDictionary.m
//  OC4_电子词典
//
//  Created by zhangxueming on 15/6/15.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "MyDictionary.h"

@interface MyDictionary ()

- (BOOL)parseFileContent:(NSString *)path;

@end

@implementation MyDictionary

- (id)initWithFile:(NSString *)path
{
    self = [super init];
    if (self) {
        _mulDict = [NSMutableDictionary dictionary];
        [self parseFileContent:path];
    }
    return self;
}

- (BOOL)parseFileContent:(NSString *)path
{
    //读取字典文件
    NSString *fileContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
    //判断是否读取成功
    if(!fileContent)
    {
        return NO;
    }
    //解析
    NSArray *contentItems = [fileContent componentsSeparatedByString:@"\n"];
    NSInteger len = [contentItems count];
    for (NSInteger i=0; i<len; i+=2) {
        if ([[contentItems objectAtIndex:i] isEqualToString:@""]) {
            continue;
        }
        NSString *key = [[contentItems objectAtIndex:i] substringFromIndex:1];
        NSString *value = [[[contentItems objectAtIndex:i+1] substringFromIndex:6] stringByReplacingOccurrencesOfString:@"@" withString:@"\n"];
        [_mulDict setObject:value forKey:key];
    }
    return YES;
}

+ (void)userInterface
{
    MyDictionary *dict = [[MyDictionary alloc] initWithFile:FilePath];
    NSLog(@"欢迎使用电子词典");
    char str[50]={};
    while (YES) {
        NSLog(@"请输入要查找的单词:");
        scanf("%s", str);
        NSLog(@"翻译:%@",[dict->_mulDict objectForKey:[NSString stringWithUTF8String:str]]);
    }
}

@end
//
//  main.m
//  OC4_电子词典
//
//  Created by zhangxueming on 15/6/15.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "MyDictionary.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        [MyDictionary userInterface];
    }
    return 0;
}

 

posted @ 2015-06-15 17:55  sirzhang  阅读(289)  评论(0编辑  收藏  举报
AmazingCounters.com