你的位置:首页 > 操作系统

[操作系统]汉语字典或者词典的简单的ios小demo


首先感谢  枯龙吟  网易博客提供了【成语词典】【新华字典】【汉语词典】接口以供使用.

无意中在网上发现了一个关于汉语字典方面的接口 ,于是自己就测试了一下,发现可以使用,非常感谢那位大神!!!

附上demo截图:

 

主要用到了数据解析的方式,服务器返回的是json数据,直接使用ios提供的类进行解析,这个小demo很简单,直接附上源码:(代码中,我封装了一个方法,传入服务器的地址和请求的数据,回到主线程更新UI)

 1 // 2 // ViewController.m 3 // 新华字典 4 // 5 // Created by hukezhu on 15/7/7. 6 // Copyright (c) 2015年 hukezhu. All rights reserved. 7 // 8  9 #import "ViewController.h" 10 #import <AFNetworking.h> 11  12 @interface ViewController () 13 @property (weak, nonatomic) IBOutlet UITextField *word; 14 @property (weak, nonatomic) IBOutlet UITextField *chengyu; 15 @property (weak, nonatomic) IBOutlet UITextView *textView; 16 @property (weak, nonatomic) IBOutlet UITextField *ciyu; 17  18 - (IBAction)wordClick:(UIButton *)sender; 19 - (IBAction)chengyuClick:(UIButton *)sender; 20 - (IBAction)ciyuClick:(UIButton *)sender; 21  22 @end 23  24 @implementation ViewController 25  26  27  28  29 - (void)viewDidLoad { 30   [super viewDidLoad]; 31    32 } 33  34  35 - (void)getDictionary :(NSString *)strUrl word:(NSString *)word{ 36  37   NSString *stringUrl = strUrl; 38   AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 39   manager.responseSerializer.acceptableContentTypes =[NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]; 40    41   [manager GET:stringUrl parameters:@{@"word":word} success:^(AFHTTPRequestOperation *operation, id json) { 42      43     NSData *data = [NSJSONSerialization dataWithJSONObject:json options:0 error:NULL]; 44  45      46     NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]; 47      48  49      50     NSString *rootKey = dict.keyEnumerator.nextObject; 51     NSArray *array = dict[rootKey]; 52  53      54      55     NSMutableString *stringM = [NSMutableString string]; 56     for (NSDictionary *dict1 in array) { 57  58       for (NSString *key in dict1) { 59         if ([key isEqualToString:@"text"]) { 60           NSString *object=[dict1 objectForKey:key]; 61           //NSLog(@"%@",object); 62           [stringM appendFormat:@"%@\n",object]; 63         } 64  65       } 66     } 67      68     self.textView.text = stringM; 69   } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 70     NSLog(@"error:%@",error); 71   }]; 72  73   74 } 75  76 - (IBAction)wordClick:(UIButton *)sender { 77    78   //NSLog(@"点击了查找按钮"); 79   if (self.word.text) { 80   [self getDictionary:@"http://brisk.eu.org/api/xhzd.php" word:self.word.text]; 81   } 82    83   [self.view endEditing:YES]; 84    85    86 } 87  88 - (IBAction)chengyuClick:(UIButton *)sender { 89    90   if (self.chengyu.text) { 91     [self getDictionary:@"http://brisk.eu.org/api/cycd.php" word:self.chengyu.text]; 92   } 93    94   [self.view endEditing:YES]; 95 } 96  97 - (IBAction)ciyuClick:(UIButton *)sender { 98    99   if (self.ciyu.text) {100     [self getDictionary:@"http://brisk.eu.org/api/hycd.php" word:self.ciyu.text];101   }102 103   104   //这个是周公解梦的,可是api不能使用了105 //  if (self.ciyu.text) {106 //    [self getDictionary:@"http://brisk.eu.org/api/dream.php" word:self.ciyu.text];107 //  }108   109   [self.view endEditing:YES];110 }111 @end