程序员iOS开发技术分享iOS Developer

iOS NSUserDefaults在存储一些数据的时候报错 A

2017-04-24  本文已影响111人  bc3d3e66fba3
天空.jpg

1.了解NSUserDefaults以及可以直接存储的数据类型

NSUserDefaults是一个单例,在整个程序中只有一个实例对象,它可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。
NSUserDefaults可以存储哪一些类型的数据,如下:

NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.

2.存储报错

当我在往NSUserDefault里存储下面的数据的时候,就给我报了 [User Defaults] Attempt to set a non-property-list object 的错误,

(
        {
        adlink = "Mbranklist/paying_activity?01";
        consumetype = "";
        deliveryid = 1;
        index = 1;
        isdefault = 3;
        "major_url" = "1010_101001_1492505430373492.png";
        message = "";
        "minor_url" = "";
        "minor_url_sec" = "";
        name = "\U6d4b\U8bd5";
        type = "";
        "video_url" = "";
    },
        {
        adlink = "<null>";
        consumetype = "";
        deliveryid = 2;
        index = 2;
        isdefault = 3;
        "major_url" = "<null>";
        message = "";
        "minor_url" = "";
        "minor_url_sec" = "";
        name = 232;
        type = "";
        "video_url" = "";
    }
)

本来我以为是我存储的数据类型不符合存储的要求,事实是符合的。于是我就网上找了一些和我出现同样错误的文章,发现返回的的数据有"<null>",而NSUserDefaults是不能被成功解析并存入的,于是我就给后台同事说了,让他修改后,我再次存储的数据时,不再报错了!!!

上一篇下一篇

猜你喜欢

热点阅读