1

当我尝试将 NSData 转换为 NSArray 时,数组为空。我知道数据不是零,因为我 NSLogged 它。这是代码:

    NSData *arrayData = [NSData dataWithData:folderOpened.arrayOfItems];
    NSArray *array = [NSArray arrayWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:arrayData]];
    NSLog(@"%d",arrayData.length);
    NSLog(@"array count:%d",array.count);

我的 NSLog:

 285
 array count:0

我的对象 NSCoding 协议:

-(void)encodeWithCoder:(NSCoder *)aCoder
{

}
 -(id)initWithCoder:(NSCoder *)aDecoder
{ 
     return nil;
}
4

1 回答 1

2

使您的自定义对象符合 NSCoding 以使它们与 NSKeyedArchiver/Unarchiver 一起使用。这是一个很好的起点: http: //nshipster.com/nscoding/

于 2013-09-29T14:22:05.077 回答