Tag: nskeyedarchiver

无法解码Employee类的对象(NS.object.0); 该类可以在源代码或未链接的库中定义

我试图通过序列化数组传递一个“员工”对象iPhone数组到苹果手表: NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:employees]; 并将其反序列化为Watch: NSMutableArray *employees = [NSKeyedUnarchiver unarchiveObjectWithData:encodedObject]; 这是'员工'级别: @interface Employee : NSManagedObject @property (nonatomic, retain) NSNumber * employeeID; @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSNumber * age; @property (nonatomic, retain) NSString * address; @property (nonatomic, retain) NSString * designation; @property (nonatomic, retain) NSString * teamName; @property (nonatomic, […]

NSKeyedArchiver archiveRootObject不停地返回NO

我花了几个小时试图弄清楚这个,但是我已经没有想法了。 所有我想要做的是存档一个对象,但方法archiveRootObject不断返回NO 这是我的代码: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cacheDirectory = [paths objectAtIndex:0]; cacheDirectory = [cacheDirectory stringByAppendingPathComponent:@"MyAppCache"]; NSString *fullPath = [cacheDirectory stringByAppendingPathComponent:@"archive.data"]; if(![[NSFileManager defaultManager] fileExistsAtPath:fullPath]){ [[NSFileManager defaultManager] createDirectoryAtPath:fullPath withIntermediateDirectories:YES attributes:nil error:nil]; } NSArray *array = [NSArray arrayWithObjects:@"hello", @"world", nil]; NSLog(@"Full Path: %@", fullPath); BOOL res = [NSKeyedArchiver archiveRootObject:array toFile:fullPath]; if(res){ NSLog(@"YES"); }else{ NSLog(@"NO"); } […]

保存自定义对象的NSArray

我创build了UIImage(UIImageExtra)的子类,因为我想包含额外的属性和方法。 我有一个包含此自定义类的实例的数组。然而,当我保存该数组时,它显示UIImageExtra类中的额外数据不会保存。 UIImageExtra符合NSCoding,但既不调用initWithCoder或encodeWithCoder,因为我添加的NSLog语句不打印。 我的方法来保存数组看起来像这样: – (void)saveIllustrations { if (_illustrations == nil) { NSLog(@"Nil array"); return; } [self createDataPath]; //Serialize the data and write to disk NSString *illustrationsArrayPath = [_docPath stringByAppendingPathComponent:kIllustrationsFile]; NSMutableData *data = [[NSMutableData alloc] init]; NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data]; [archiver encodeObject:_illustrations forKey:kIllustrationDataKey]; [archiver finishEncoding]; [data writeToFile:illustrationsArrayPath atomically: YES]; } 而UIImageExtra有以下保存的委托方法: #pragma mark […]

写入和读取自定义对象到文件IOS

我有这个对象。 @interface SeccionItem : NSObject <NSCoding> { NSString * title; NSString * texto; NSArray * images; } @property (nonatomic,strong) NSString * title; @property (nonatomic,strong) NSString * texto; @property (nonatomic,strong) NSArray * images; @end 有了这个实现 @implementation SeccionItem @synthesize title,texto,images; – (void) encodeWithCoder:(NSCoder *)encoder { [encoder encodeObject:title forKey:@"title"]; [encoder encodeObject:texto forKey:@"texto"]; [encoder encodeObject:images forKey:@"images"]; } – (id)initWithCoder:(NSCoder […]

如何用NSUserDefaults保存UIColor?

我试图编写我的代码,以便如果用户按下夜间button,背景将变成黑色,并保持黑色,如果用户closures应用程序。 (同样适用于白天模式。) 请注意:我已经编码了button,当它们按下时,所有的场景都变成了这个模式。 这是我的代码,我要去需要保存的背景颜色:(我需要它在两个if语句) if GlobalData.dayBool == true && GlobalData.night == false { backgroundColor = GlobalData.dayColor } if GlobalData.nightBool == true && GlobalData.dayBool == false { backgroundColor = GlobalData.nightColor } 我的日夜颜色: struct GlobalData { static var score = 0 static var dayColor = UIColor(red:0.93, green:0.93, blue:0.93, alpha:1.0) static var nightColor = UIColor(red:0.10, green:0.10, blue:0.10, alpha:1.0) […]

通过KeyChain保存并检索值

我试图存储一个整数,并使用KeyChain检索它。 这是我如何保存它: func SaveNumberOfImagesTaken() { let key = "IMAGE_TAKEN" var taken = 10 let data = NSKeyedArchiver.archivedDataWithRootObject(taken) let query : [String:AnyObject] = [ kSecClass as String : kSecClassGenericPassword, kSecAttrAccount as String : key, kSecValueData as String : data ] let status : OSStatus = SecItemAdd(query as CFDictionaryRef, nil) } 这是我如何尝试检索它: func CheckIfKeyChainValueExitss() -> AnyObject? { […]

archiverootobject和unarchiverootobject的有效文件path

我正在做一个iPhone应用程序,在前面的问题,我被告知,我需要一个有效的文件patharchiverootobject和unarchiverootobject,但我不知道如何做一个。 那么什么是有效的文件path来保存自定义类的数组? 后续问题:关于链接的问题,我已经设置了我的方法使用无效的保存,但它仍然有效,任何人都知道为什么?