【问题标题】:problem with NSKeyedUnarchiver unarchivedObjectOfClass: fromData:error;NSKeyedUnarchiver unarchivedObjectOfClass 的问题:fromData:error;
【发布时间】:2019-08-15 08:40:44
【问题描述】:
NSMutableArray * array;
array = [NSKeyedUnarchiver unarchiveObjectWithFile: mypath];

没关系。

NSData * data = [NSData dataWithContentsOfFile: mypath];
array = [NSKeyedUnarchiver unarchiveObjectWithData: data];

没关系。

我不能用的方法是:

+ UnarchivedObjectOfClass:``` from Date: error:

    @interface Magazzino: NSObject <NSCoding> {
    NSNumber * num;
    NSString * description;
    NSString * um;
    NSNumber * price list;
    NSNumber * discount;
    NSNumber * cost;
    NSNumber * price increase;
   }

NSMutableArray * array;
array = [NSKeyedUnarchiver unarchivedObjectOfClass: Magazzino.class   fromData: data error: & error];

错误域 = NSCocoaErrorDomain 代码 = 4864 "键 'root' 的值属于意外类' NSMutableArray '。允许的类是' {( 杂志

【问题讨论】:

    标签: xcode nskeyedunarchiver


    【解决方案1】:

    我发现您必须在 NSSet 中包含 NSString 和 NSNumber 以及主类。

    例如

    NSSet *classesSet = [NSSet setWithObjects:[NSString class], [SurveyInfo class], [SurveyData class], [PlotInfo class], [DepthRange class], [SurveyLegData class], [ToolfaceData class], [WellboreGeometry class], [WellboreGeometryItem class], [AxisTitles class], [AxisLabels class], [AxisDimensions class], [TextStyle class], [Cell class], [UIFont class], [UIColor class], [NSArray class], [NSMutableArray class], [NSMutableData class], [NSDictionary class], [NSDate class], [NSValue class], [NSNull class], nil];
                NSArray *dataArray = (NSArray*)[NSKeyedUnarchiver unarchivedObjectOfClasses: classesSet fromData: unarchivedData error: &error];
    

    我现在唯一的问题是泄漏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多