//
//  UserWords.h
//  MSC
//
//  description: 用户词表类，获取用户词表是为了更好的语音识别(iat)，用户词表也属于个性化的一部分

//  Created by ypzhao on 13-2-26.
//  Copyright (c) 2013年 iflytek. All rights reserved.
//

#import <Foundation/Foundation.h>

/**用户词表类
 
 获取用户词表是为了更好的语音识别(iat)，用户词表也属于个性化的一部分
 */

@interface IFlyUserWords  : NSObject
{
    NSMutableDictionary     *_jsonDictionary;
}

/** 初始化对象
 
 在进行初始化时，需要传入的格式如下：
 
<pre><code>{\"userword\":[{\"name\":\"iflytek\",\"words\":[\"科大讯飞\",\"云平台\",\"用户词条\",\"开始上传词条\"]}]}
</code></pre>
 @param json 初始化时传入的数据
 @return 
 */
- (id) initWithJson:(NSString *)json;

/** 将数据转化为上传的数据格式

 @return   没有数据或者格式不对时返回nil
 */
- (NSString *) toString;

/** 返回key对应的数据
 
 @param key 在putword:value中设置的key
 @return key对应的数组
 */
- (NSArray *) getWords: (NSString *) key;

/** 添加一条用户词数据
 
 @param key  用户词对应的key
 @param value 上传的用户词数据
 @return 成功返回YES,失败返回NO
 */
- (BOOL) putWord: (NSString *) key value:(NSString *)value;

/** 添加一组数据
 
 @param key 用户词对应的key
 @param words 上传的用户词数据
 @return  BOOL            -成功返回YES,失败返回NO
 */
- (BOOL) putwords: (NSString *) key words:(NSArray *)words;

/** 是否包含key对应的用户词数据
 
 @param key 用户词对应的key
 @return 成功返回YES,失败返回NO
 */
- (BOOL) containsKey: (NSString *) key;
@end
