6.@[ios之路](一个OC小程序点名字)

@[ios之路](一个OC小程序点名字)

#import “ViewController.h”

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
@property (nonatomic, strong) NSArray *namesArray;
@property (nonatomic, assign) NSTimer *timer;
@end

@implementation ViewController

/*
点击图标
加载程序 —> stroyboard加载主界面 -> 对应的代码里面去加载配置的界面
*/

//用于手动搭建界面 准备工作 准备好数据

  • (void)viewDidLoad {
    [super viewDidLoad];

    //需要使用数组保存名单 给一个属性赋值
    self.namesArray = @[@“张三”,@“李四”,@“王五”];

    //NSLog打印一个对象使用%@
    //NSLog(@"%@", self.namesArray);
    }

  • (IBAction)startButtonDidClicked:(UIButton *)sender {
    //设置按钮的标题为stop
    //在OC里面访问方法 使用【哪个对象 方法】;
    //根据按钮的标题来切换状态

    if ([sender.titleLabel.text isEqualToString:@“start”]) {
    [sender setTitle:@“stop” forState:UIControlStateNormal];
    //使用定时器来完成一定时间间隔的任务
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 repeats:YES block:^(NSTimer * _Nonnull timer) {
    //执行的代码
    //1.随机产生一个随机数
    int index = arc4random() % 3;
    //2.获取数据源里面index对应的名字
    NSString *name = self.namesArray[index];
    //3.显示到label上
    self.nameLabel.text = name;
    }];
    }else{
    [sender setTitle:@“start” forState:UIControlStateNormal];
    [self.timer invalidate];
    }
    }

@end

  • (IBAction)startButtonDidClicked:(UIButton *)sender {
    //从终端打印相关信息 打印的是字符串对象
    NSLog(@"…");
    //设置按钮的标题为stop
    //在oc中访问方法,使用[哪个对象 方法]
    //根据按钮的标题来切换状态
    if ([sender.titleLabel.text isEqualToString:@“Start”]) {
    [sender setTitle:@“Stop” forState:UIControlStateNormal];
    //不能用for循环,因为计算机1s内执行上千条指令,反应不过来
    //使用一个定时器来完成一定时间间隔的任务
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(changeName) userInfo:nil repeats:YES];
    }else{
    [sender setTitle:@“Start” forState:UIControlStateNormal];
    //关闭定时器
    [self.timer invalidate];
    }
    }

  • (void)changeName{
    //执行的代码
    //1.产生一个随机数
    int index = arc4random()%3;
    //2.获取数据源index中对应的名字
    NSString *name = self.namesArray[index];
    //3.将名字显示到label上
    self.nameLabel.text = name;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值