快速消除IOS 版本升级带来的警告

开发中我们经常会遇到这样的情况,我们在IOS 6.0开发的程序,当出现IOS 7.0 或者IOS8.0的时候,我们代码中得某些方法苹果已经不推荐使用了,建议我们改用新的方法。如果我们不更新方法,则会出现警告。如果我们再项目多个文件中大量的使用了该方法,显然一个个的手动更改是不合适的。
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    [[NSDate date] addTimeInterval:100];//警告⚠️
    [[NSDate date] addTimeInterval:100];//<span style="font-family: Arial, Helvetica, sans-serif;">警告⚠️</span>
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    
    return 0;
}

可以用类别来帮助我们替换方法。新建一个类别。

#import <Foundation/Foundation.h>

@interface NSDate (AddTimeInterval)

-(id) addTimeInterval:(NSTimeInterval) seconds;//旧方法名

@end
在旧方法的实现中,替换为新方法

#import "NSDate+AddTimeInterval.h"

@implementation NSDate (AddTimeInterval)

-(id) addTimeInterval:(NSTimeInterval) seconds
{
    NSDate *date=[self dateByAddingTimeInterval:seconds];//嵌套在旧方法内
    return date;
}

@end
在所有使用旧方法的源文件中,引入头文件,所有警告消除

#import <Foundation/Foundation.h>
#import "NSDate+AddTimeInterval.h"

int main(int argc, const char * argv[])
{
    [[NSDate date] addTimeInterval:100];//不再出现警告
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    [[NSDate date] addTimeInterval:100];
    
    return 0;
}

虽然警告不会对我们程序运行造成影响,但是存在大量的警告确实是一个安全隐患,如果不费多少时间的话,为什么不想办法做到0error 0warning呢?




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值