zoukankan      html  css  js  c++  java
  • Oc Base64 引起的崩溃,日期格式问题

    NSData *data = [[NSData alloc] initWithBase64EncodedString:@"TU1ZWVlZREQ=" options:NSDataBase64DecodingIgnoreUnknownCharacters];
    NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:string];
    
    //
    NSData *data1 = [[NSData alloc] initWithBase64EncodedString: @"MDEyMDIwMTA=" options:NSDataBase64DecodingIgnoreUnknownCharacters];
    NSString *string1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
    NSDate *dst_d = [formatter dateFromString:string1];
    
    NSDate *cur_d = [NSDate date];
    NSInteger ret = [cur_d timeIntervalSinceDate:dst_d];
    NSLog(@"%ld", (long)ret);
    if (ret > 0){
        return true;
    }

    在iphone 6s上出现概率性闪退
    错误日志显示
    <Notice>: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[_NSPlaceholderData initWithBase64EncodedString:options:]: nil string argument'
    *** First throw call stack:

    常量字符串为啥会为nil呢? 很费解,求解释


    去掉base64之后 发现

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"DDYYYYMM"];
    NSDate *dst_d = [formatter dateFromString:@"14202001"];

    得出来的结果。dst_d 的值是。
    dst_d __NSTaggedDate * 2019-12-21 16:00:00 UTC 0xe41c1d73c8000000

    不明白。非常之诡异
    改成这样?

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"MMYYYYDD"];
    NSDate *dst_d = [formatter dateFromString:@"01202014"];

    正常了!!!

    NSDate *cur_d = [NSDate date];
    NSInteger ret = [cur_d timeIntervalSinceDate:dst_d];
    NSLog(@"%ld", (long)ret);
    if (ret > 0){
        return true;
    }
  • 相关阅读:
    React——from
    React——条件渲染
    React——event
    React——组件
    React——JSX
    flask_mail使用
    flask开发restful api
    mysql limit和offset用法
    flask打包安装文件
    flask-sqlalchemy使用及数据迁移
  • 原文地址:https://www.cnblogs.com/lesten/p/12168278.html
Copyright © 2011-2022 走看看