• 使用[NSKeyedUnarchiver unarchiveObjectWithData:data]程序crash


    使用NSKeyedArchiver压缩对象成二进制数据,再使用NSKeyedUnarchiver解压二进制数据,如果解压时数据为nil,或者数据中有异常的数据,那么解压将会出错,甚至会导致程序crash掉。可以用这种方法防止程序crash:

     NSData *data=[[NSUserDefaults standardUserDefaults] valueForKey:key];

     

        NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];

        if (data) {

            @try {

                dict=[NSKeyedUnarchiver unarchiveObjectWithData:data];

                return dict;

            }

            @catch (NSException *exception) {

                return dict;

            }

            @finally {

                

            }

        }

        return dict;

  • 相关阅读:
    股票
    使用广播信道的以太网
    CSMA/CD 3
    可赎回债券
    matlab中的knn函数
    债券 账面值
    最优化作业 共轭梯度法 matlab代码
    债券和股票 溢价公式
    债券和股票
    CSMA/CD 续
  • 原文地址:https://www.cnblogs.com/ChouDanDan/p/5045479.html
Copyright © 2020-2023  润新知