汉语字典或者词典的简单的ios小demo
[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/
首先感谢 枯龙吟 网易博客提供了【成语词典】【新华字典】【汉语词典】接口以供使用.
无意中在网上发现了一个关于汉语字典方面的接口 ,于是自己就测试了一下,发现可以使用,非常感谢那位大神!!!
附上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