iOS控制每天的最大次数

//弹出样式1、4、5、6弹窗(每天最多弹出2次)
//控制随机[0,4]不包括4
NSDate *nowDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *nowDateString = [dateFormatter stringFromDate:nowDate];//当前的时间

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if(![userDefaults objectForKey:@"dateCount"]){
//初始化,这段代码整个app只初始化一次
NSDictionary *dateDic = @{nowDateString:@"0"};
NSUserDefaults *dataUser = [NSUserDefaults standardUserDefaults];
[dataUser setObject:dateDic forKey:@"dateCount"];
[dataUser synchronize];
}
//取值判断
 NSDictionary *currentDateDic =[userDefaults dictionaryForKey:@"dateCount"];
if([currentDateDic objectForKey:nowDateString]){
    //如果当前时间取数有值那么可以往后判断次数,并依次修改当前时间对应的count
    NSInteger countInt=[[currentDateDic objectForKey:nowDateString] integerValue];
    if(countInt<2){
        //根据随机的概率判断弹出哪种弹窗
        NSInteger lotter = arc4random()%4;
        if(lotter==0){
        }
        countInt++;
        NSDictionary *dateDic = @{nowDateString:[NSString stringWithFormat:@"%ld",countInt]};
        NSUserDefaults *dataUser = [NSUserDefaults standardUserDefaults];
        [dataUser setObject:dateDic forKey:@"dateCount"];
        [dataUser synchronize];
    }
}else{
  //如果当前时间取值没有数据,说明当前时间已经过了记录,可以重新设置数据
  NSDictionary *dateDic = @{nowDateString:@"0"};
  NSUserDefaults *dataUser = [NSUserDefaults standardUserDefaults];
  [dataUser setObject:dateDic forKey:@"dateCount"];
  [dataUser synchronize];
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值