zoukankan      html  css  js  c++  java
  • 猜谜语

    //

    //  ViewController.m

    //  猜谜语

    //

    //  Created by Bruce on 15/8/13.

    //  Copyright (c) 2015年 Bruce. All rights reserved.

    //

     

    #import "ViewController.h"

    #import "HTTPRequestManager.h"

    #import "InfoModel.h"

     

     

    @interface ViewController ()

    {

        NSTimer *runTimer;

        UITextView *showView;

        

        BOOL isShow;

    }

    @end

     

    @implementation ViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        

        [self createView];

        

        [self loadData];

    }

     

    - (void)createView

    {

        showView = [[UITextView alloc]initWithFrame:self.view.frame];

        showView.editable = NO;

        showView.selectable = NO;

        showView.font = [UIFont systemFontOfSize:40];

        showView.textAlignment = NSTextAlignmentCenter;

        showView.textColor = [UIColor brownColor];

        [self.view addSubview:showView];

        

        

        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(showAnswer)];

        [self.view addGestureRecognizer:tap];

        

    }

     

    - (void)showAnswer

    {

        isShow = !isShow;

        

        if (isShow!=NO) {

            

            runTimer.fireDate = [NSDate distantFuture];

            

            showView.textColor = [UIColor orangeColor];

            showView.text = [InfoModel shareManager].Answer;

        }else{

            

            runTimer.fireDate = [NSDate distantPast];

            

            showView.textColor = [UIColor brownColor];

            showView.text = @"";

        }

    }

     

    - (void)loadData

    {

        NSString *url = @"http://apis.baidu.com/myml/c1c/c1c";

        

        [HTTPRequestManager sendGetRequestWithURL:url responseContent:^(id result) {

            

            InfoModel *model = [InfoModel shareManager];

            model.Title = result[@"Title"];

            model.Answer = result[@"Answer"];

            

    //        刷新UI 必须在主线程 刷新

            [self performSelectorOnMainThread:@selector(next) withObject:nil waitUntilDone:YES];

            

        }];

        

    }

     

    - (void)next

    {

        showView.text = [InfoModel shareManager].Title;

        

        runTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(loadData) userInfo:nil repeats:YES];

    }

     

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

     

    @end

     

    //

    //  InfoModel.h

    //  猜谜语

    //

    //  Created by Bruce on 15/8/13.

    //  Copyright (c) 2015年 Bruce. All rights reserved.

    //

    #import <Foundation/Foundation.h>

    @interface InfoModel : NSObject

    + (instancetype)shareManager;

    @property (nonatomic,copy) NSString *Title;

    @property (nonatomic,copy) NSString *Answer;

    @end

    //

    //  InfoModel.m

    //  猜谜语

    //

    //  Created by Bruce on 15/8/13.

    //  Copyright (c) 2015年 Bruce. All rights reserved.

    //

    #import "InfoModel.h"

    static InfoModel *model = nil;

    @implementation InfoModel

    + (instancetype)shareManager

    {

        static dispatch_once_t onceToken;

        dispatch_once(&onceToken, ^{

            model = [[InfoModel alloc]init];

        });

        return model;

    }

    @end

    HTTPRequestManager(缓冲效果)

  • 相关阅读:
    加快火狐启动速度的几种方法 Leone
    我国的社保到底是多交好,还是少交好? Leone
    “情商”和“智商”究竟有哪些区别? Leone
    Atitti 知识图谱构建方法attilax 总结
    Atitit 知识图谱的数据来源
    Atitit java 二维码识别 图片识别
    Atitit 跨平台异常处理(2)异常转换 java c# js异常对象结构比较and转换
    Atitit 异常机制与异常处理的原理与概论
    Atitti knn实现的具体四个距离算法 欧氏距离、余弦距离、汉明距离、曼哈顿距离
    屏幕取词技术实现原理
  • 原文地址:https://www.cnblogs.com/wukun16/p/4884144.html
Copyright © 2011-2022 走看看