首页 > 学院 > 开发设计 > 正文

汉语字典或者词典的简单的ios小demo

2019-11-14 18:43:36
字体:
来源:转载
供稿:网友

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.VEVb.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

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表