存档&&解档游戏状态

  • 解档

  

//AppDelegate.m
@synthesize window=_window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    NSString* gameArchivePath = [self gameArchivePath];
    OneGame* existingGame;
    @try {
        existingGame = [[NSKeyedUnarchiver unarchiveObjectWithFile:gameArchivePath] retain];
    }
    @catch (NSException *exception) {
        existingGame = nil;
    }
    [gameController setPreviousGame:existingGame];
    [existingGame release];

    //设置为主窗口并显示出来
    [self.window makeKeyAndVisible];
    return YES;
}

//GameController.m
-(void)setPreviousGame:(OneGame*)aOneGame{
    previousGame = [aOneGame retain];

    if (previousGame != nil && [previousGame remaingTurns] > 0){
        [continueButton setHidden:NO];
    } else {
        [continueButton setHidden:YES];
    }
}
  • 存档

原文地址:https://www.cnblogs.com/HackHer/p/8158994.html

时间: 2024-07-31 12:56:06

存档&&解档游戏状态的相关文章

IOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)模拟器应用沙盒的根路径在: (apple是用户名, 8.0是模拟器版本)/Users/apple/Libra

关于数据保存的方式(沙盒,解档归档(swift方法))

/// 保存用户信息(保存在沙盒中) - (void)saveUserInfo { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // iOS 8.0 会直接写入沙盒,无需再使用 `[defaults synchronize];` [defaults setObject:self.username forKey:SKUsernameKey]; [defaults setObject:self.pwd forKe

类的序列化和反序列化、对象的归档个解档

对象的编码把对象的类特征以及对象状态转化为某种格式(二进制),这种格式可以存储,也可以在进程间和网络间传递. 类的类型以及实例数据会被写入到某种字节流中,当程序结束的时候,该字节流可以进行持久化.程序启动的时候,新分配的对象可以解码之前保存的自身描述,然后把自己恢复到之前运行时的状态.编码通常需要和归档协作.归档将对象转化成一种可以写进文件系统的格式(档案).解档则是在档案上执行操作.在此过程中,保存在档案的对象需要对自身进行解码. 所以,如果需要将某种类型的实例对象进行归结档,则首先需要对该类

6 归档解档(自定义对象数据存储)

1 #import <Foundation/Foundation.h> 2 //记得要遵守<NSCoding>协议 > 3 @interface person : NSObject<NSCoding> 4 @property(nonatomic,copy)NSString *name; 5 @property(nonatomic,assign)int age; 6 @end 1 #import "person.h" 2 3 @implement

《实例妙解 Cocos2d-x 游戏开发》反馈勘误

我的新书 <实例妙解 Cocos2d-x 游戏开发>已经上市了. 大家可以在书店或者网上购买: 部分购买地址: china-pub当当网京东 这个页面主要用于发布勘误.书中遇到了问题可以在 我的博客网站 或者 csdn博客页面 留言.当然更好的方式是加QQ群:305889963 与大家交流讨论. 书中Github代码网址:https://github.com/fansongy/Example-of-Cocos2DX

数据存储之归档解档

归档也叫序列化,是将文件存在硬盘,解码是从硬盘还原一.使用属性列表进行归档 如果对象是NSString,NSDictionary,NSArray,NSData,NSNumber,NSDate,可以是使用writeToFile:atomically方法将数据写到文件,注意这种方式是明文. NSArray *inputArray = [NSArray arrayWithObjects:@"abc", @"123", @"qiaohaibin"]; /

iOS解档与归档

// 解档 - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super init]) { unsigned int count; Ivar* ivars = class_copyIvarList([self class], &count); for (int i = 0; i < count; i++) { Ivar ivar = ivars[i]; const char* name = ivar_getName

iOS归档解档

使用NSKeyedArichiver进行归档.NSKeyedUnarchiver进行接档,这种方式会在写入.读出数据之前对数据进行序列化.反序列化操作. 1.对单个字符串归档 //获取根目录 NSString *homeDictionary = NSHomeDirectory(); //添加储存的文件名 NSString *homePath = [homeDictionary stringByAppendingPathComponent:@"myText.txt"]; //归档一个字符

归档 解档

//系统类型的对象归档(NSString/NSArray/NSDictionary) //1.设置归档路径,该路径需要详细到文件(不能是文件夹) //2.得到要归档的对象 //3.通过NSKeyedArchiver调用archiveRootObject方法,进行归档 //4.解档 通过NSKeyedUnarchiver调用unarchiveObjectWithFile进行解档,注意,该方法返回值类型为id //字符串的归档 解档 NSString *path = NSHomeDirectory(