• 汉语字典或者词典的简单的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:@"%@
    ",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
  • 相关阅读:
    js——获取指定日期的前7天连续日期
    一个div自动充满当前屏幕的解决方法
    Cookie和Session
    Web服务器和浏览器间的工作原理
    软件测试基础概念
    K短路的几种求法
    ID字体
    搭建GitLab的Hexo博客记录
    项目selfcmp开发学习
    牛顿迭代法学习笔记
  • 原文地址:https://www.cnblogs.com/hukezhu/p/4634497.html
Copyright © 2020-2023  润新知