首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用NSCoding保存Int64变量

NSCoding是Objective-C中的一个协议,用于实现对象的编码和解码。它可以将对象转换为二进制数据以便存储或传输,并且可以从二进制数据中还原对象。

要使用NSCoding保存Int64变量,需要按照以下步骤进行操作:

  1. 创建一个自定义的类,并让该类遵循NSCoding协议。例如,可以创建一个名为"CustomClass"的类。
代码语言:txt
复制
@interface CustomClass : NSObject <NSCoding>

@property (nonatomic, assign) Int64 myInt64Variable;

@end
  1. 在类的实现文件中,实现NSCoding协议的两个方法:initWithCoder:encodeWithCoder:。这两个方法分别用于解码和编码对象。
代码语言:txt
复制
@implementation CustomClass

- (instancetype)initWithCoder:(NSCoder *)coder {
    self = [super init];
    if (self) {
        self.myInt64Variable = [coder decodeInt64ForKey:@"myInt64Variable"];
    }
    return self;
}

- (void)encodeWithCoder:(NSCoder *)coder {
    [coder encodeInt64:self.myInt64Variable forKey:@"myInt64Variable"];
}

@end
  1. 在需要保存Int64变量的地方,创建一个CustomClass的实例,并设置myInt64Variable的值。
代码语言:txt
复制
CustomClass *customObject = [[CustomClass alloc] init];
customObject.myInt64Variable = 1234567890;
  1. 使用NSKeyedArchiver将CustomClass对象保存到文件中。
代码语言:txt
复制
NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:@"customObject.dat"];
[NSKeyedArchiver archiveRootObject:customObject toFile:filePath];
  1. 若要读取保存的Int64变量,可以使用NSKeyedUnarchiver。
代码语言:txt
复制
CustomClass *savedObject = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
Int64 savedInt64Variable = savedObject.myInt64Variable;

这样,就可以使用NSCoding保存和读取Int64变量了。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

单片机异常复位后如何保存变量数据

目录 1、理论 2、实践 ---- 1、理论 众所周知,单片机复位后变量数值会自动初始化,以华大半导体HC32L136为例,具有 7 个复位信号来源,每个复位信号都可以让 CPU 重新运行,绝大多数寄存器会被复位到复位值...本篇博客主要讲授华大半导(STM32、C51等单片机均可适用)复位(以看门狗复位为例)后变量数据保存的方法。...这里将用到__not_init属性,其用于变量声明,可禁止系统启动时变量的初始化,有了__not_init属性,编译器只给指定变量分配空间,不会再初始化。 ?...实践描述:使用__no_init属性创建一个变量cou_num,其将数据存储在SRAM中,每隔300毫秒自加1并通过串口打印输出数值,当检测到上电复位和按键复位后,变量cou_num数值置为0,在看门狗复位下变量...(SysctrlPeripheralWdt,TRUE); ///< WDT 初始化,喂狗时间:820ms Wdt_Init(WdtResetEn, WdtT820ms); } 第3步:使用

1.1K30
  • ExtJS中的全局变量保存使用

    前阵子研究ExtJS,对于如何在Sencha Architect软件中使用全局变量伤透了脑筋。...现在我一共发现了两种: 第一种:使用“window.全局变量”形式 window 对象总是存在的,你可理解其为一个浏览器窗口对象。它包含了其它所有的对象如document 和所有的全局变量。...假设有全局变量seq,那么赋值和取值操作如下: window.seq=13; //赋值 var temp=window.seq; //取值 第二种:使用document对象中的cookie属性 在客户端...也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量使用。...例如,可以只写 document,而不必写 window.document document里面有一个对象属性cookie,可以用来保存用户储存在本地终端上的数据。

    2.4K20

    python使用opencv如何保存图片_OpenCV Python 保存图片

    本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 通过无损和有损的方式进行图片保存。...实现代码 1,加载图片 import cv2 # 加载OpenCV img = cv2.imread(“dashen.jpeg”) # 读取/加载 图片 2,把图片保存为PNG格式 使用无损的方式保存成...JPEG格式 使用压缩的方法保存为JPEG cv2.imwrite(‘dashen_compressed.jpg’, img, [cv2.IMWRITE_JPEG_QUALITY, 0]) 运行完以上代码...我们在cv.imwrite()的第三个参数中设置了JPEG的编码方式保存图片,并设置了0值,此值在JPEG格式中取值范围是0-100,数值越高,保存的质量就越高。...程序说明 本示例主要认识cv.imwrite()的作用,可以通过设置有损或者无损的方式保存图片。

    4.1K20

    Swift实践:使用CoreData存储多种数据类的通讯录1. CoreData支持存储数据类型2. 使用CoreData存储多种数据类的通讯录3. Codable

    这次我们要往这个通讯录里面加入更多的元素,目的也是为了学习CoreData如何存储更多的数据类型。 完成后的效果: ? contact.gif 1. CoreData支持存储数据类型 ?...有一点点小小需要注意的地方就是,数据类型要遵守NSCoding协议。只要遵守了,就可以使用这个厉害的存储类型了。 来来来,举几个栗子。Dictionary、Array、Number等等都可以呀。。。...使用CoreData存储多种数据类的通讯录 我们在这里计划存储的类型有Data、Bool、String、Date、Int64。 ?...保存过程中可能会出错,要做一下处理。 添加到数组中 2.1.2 基本存储 获取总代理和托管对象总管 建立一个Entity 保存内容 保存Entity到托管对象。...在OC时代,当需要将一个对象持久化时,需要把这个对象序列化,往常的做法是实现 NSCoding 协议。

    2.1K30

    iOS应用数据存储(数据持久化)的常用方式一、iOS数据持久化方式二、应用沙盒(应用程序的文件夹)三、使用方法

    3)NSKeyedArchiver归档(NSCoding),可以把任何对象, 直接保存为文件的方式。...Documents目录进行数据持久化的保存,我们平时操作数据主要使用Documents目录 NSString *path = [[NSSearchPathForDirectoriesInDomains...(); Library/Caches: 保存临时文件,后续需要使用,例如:缓存图片,离线数据(地图数据) 系统不会清理cache目录中的文件 就要求程序开发时,必须提供cache目录的清理解决方案...(1)遵守NSCoding协议,实现协议方法 NSCoding协议中两个方法,一般写在模型中: 归档调用 一般在这个方法里面指定如何归档对象中的每个实例变量,可以使用encodeObject:forKey...解档调用 一般在这个方法里面指定如何解码文件中的数据为对象的实例变量,可以使用decodeObject:forKey方法解码实例变量 - (nullable instancetype)initWithCoder

    2.6K70

    Python工匠:如何更好地使用变量

    ” 致“匠人” 前面讲了如何变量取一个好名字,下面我们谈谈在日常使用变量时,应该注意的一些小细节。...更好的做法是,让变量定义尽量靠近使用。那样当你阅读代码时,可以更好的理解代码的逻辑,而不是费劲的去想这个变量到底是什么、哪里定义的?...return resul 所以,请打开 IDE 的智能提示,及时清理掉那些定义了但是没有使用变量吧。...7 能不定义变量就不定义 有时候,我们定义变量时的心理活动是这样的:『嗯,这个值未来说不定会修改/二次使用』,让我们先把它定义成变量吧!...如果以后有定义变量的需求,那就以后再加吧。 结束语 变量作为程序语言的重要组成部分,值得我们在定义和使用它时,多花一丁点时间思考一下,那样会让你的代码变得更优秀。

    97340

    Linux|如何允许 awk 使用 Shell 变量

    这可以通过在 Awk 命令中使用 shell 变量来完成,在本文中,我们将学习如何允许 Awk 使用 shell 变量,这些变量可能包含我们想要传递给 Awk 命令的值。...可能有两种方法可以让 Awk 使用 shell 变量: 1. 使用 Shell 引用 让我们看一个示例来说明如何实际使用 shell 引用来替换 Awk 命令中 shell 变量的值。...passwd file and print details on the screen cat /etc/passwd | awk "/$username/ "' { print $0 }' 此后,保存文件并退出...使用awk的变量赋值 与上面的方法一相比,这种方法更简单、更好。考虑上面的例子,我们可以运行一个简单的命令来完成这项工作。在此方法下,我们使用 -v 选项将 shell 变量分配给 Awk 变量。...很多时候,您会在 shell 脚本中编写小型 Awk 程序或命令,因此,您需要清楚地了解如何在 Awk 命令中使用 shell 变量

    15610

    Linux|了解如何使用 awk 内置变量

    引言 当我们揭开 Awk 功能部分时,我们将介绍 Awk 中内置变量的概念。您可以在 Awk 中使用两种类型的变量:用户定义的变量和内置变量。...) NF :当前输入行中的字段数(不要更改变量名称) OFS :输出字段分隔符 FS :输入字段分隔符 ORS:输出记录分隔符 RS : 输入记录分隔符 实战 让我们继续说明上面一些 Awk 内置变量使用...,这是当您使用 FILENAME 内置变量时 Awk 的默认行为。...",NR,"has",NF,"fields" ; }' ~/names.txt 接下来,您还可以使用 FS 内置变量指定输入字段分隔符,它定义 Awk 如何将输入行划分为字段。...内置变量,如下所示: awk ' BEGIN { FS=“:” ; } { print $1, $4 ; } ' /etc/passwd 要指定输出字段分隔符,请使用 OFS 内置变量,它定义如何使用我们使用的字符分隔输出字段

    10210

    GO编程实践:如何高效使用变量

    在GO语言中,变量的定义和使用是非常重要的基本概念之一。...下面是关于如何在GO语言中定义变量的详细说明,使用Markdown格式呈现: GO语言变量定义 在GO语言中,变量的定义涉及到两个关键步骤:声明和初始化。...首先,我们需要声明变量的类型,然后可以选择性地初始化它们。以下是GO语言中定义变量的一些示例: 声明变量 在GO语言中,你可以使用 var 关键字来声明一个变量。...= "John" var age = 30 简短声明和初始化 GO语言还支持使用 := 运算符进行短声明和初始化,这种方式可以自动推断变量的类型: name := "John" age := 30 多变量声明和初始化..."USA" ) 或者使用短声明方式: name, age, country := "John", 30, "USA" 默认值 如果你在声明变量时没有进行初始化,GO语言会为变量赋予默认值,具体的默认值取决于变量的类型

    13720

    如何在条码打印软件中使用打印时保存

    有些客户在条码打印软件中批量制作完成标签之后,想要把标签内容以txt文本的形式保存出来,可以把标签上的每个内容分别保存到一个TXT文本,也可以把标签上的多个内容保存到一个TXT文本中,条码打印软件中打印时保存就可以实现这个效果...,具体操作如下: 1.在条码打印软件,使用序列生成生成两个可变的数据之后,可以选中某一个数据双击,在图形属性-数据源中,勾选打印时保存,点击浏览,设置一下保存路径,分别把标签上的每一个内容...打印时保存2.jpg 3.在桌面上打开我们刚才勾选打印时保存保存的TXT文本,看下每个标签分别保存到TXT文本的效果。...打印时保存3.jpg 还有一种效果是把标签上的多个内容保存到同一个TXt文本中,分别选中标签上的两个内容,勾选打印时保存,路径都设置为C。...效果如下图: 1561947667(1).jpg 以上就是有关在条码打印软件中使用打印时保存的功能,可以根据自己的需求选择不同的TXT文本效果,如何在条码打印软件中设置可变的数据,可以参考在中琅可变数据打印软件上如何设置流水号

    2.4K20

    如何使用函数 SetTagMultiWait() 来写多个 WinCC 变量?

    使用“SetTagMulti()“函数时必须为每个要写的变量传送一个“pszTag“字符串。 void vValue “vValue“是其变量值要写入 WinCC 的变量。...“SetTagMulti()“函数的使用必须为每个要写的变量传送该参数。 该参数的实际数据类型取决于要写的 WinCC 变量的数据类型。可能的数据类型请参照以下表格。...该函数不能检查变量值是否被正确写入。因此您不能使用该返回值检查 WinCC 变量的写入是否成功。因此您应该使用 “SetTagMultiStateWait()“函数及关联的变量状态来评估错误。...WinCC 变量的质量信息(变量状态)可在 WinCC 信息系统中的以下位置找到: “通讯 > 通讯 - 诊断> 变量质量> 变量状态“ 关于“SetTag()“函数如何运行的常规信息可在 WinCC...信息系统中的以下位置找到: “使用 WinCC > 使用 ANSI-C 创建函数和动作 > ANSI-C 函数描述 > 内部函数 > 变量 > 写 > SetTag 函数的功能“ 下表描述了格式字符串中可能的格式并说明了何种格式可以同何种

    2.7K11

    Shell 变量详解:如何定义、使用和管理

    在编写 Shell 脚本时,变量扮演着极为重要的角色。它们使我们能够临时保存数据,以便在脚本的其他部分中使用。...变量命名规范变量名可由数字、字母、下划线构成;必须以字母或下划线开头;不能使用 Shell 中的关键字(可通过 help 命令查看保留关键字列表)。...后台运行的最后一个进程的 PID如何定义变量定义变量的方式主要有三种:不加引号、单引号和双引号。选择哪种方式取决于你希望如何处理其中的特殊字符和变量。.../bin/bashvariable=valueecho ${variable} # 输出 value使用变量使用变量时,强烈推荐将变量名包围在花括号{}中。...: $finish_time"echo "run time: ${run_time}s"只读变量使用 readonly 命令可以将变量设置为只读,尝试更改这些变量的值将导致错误。

    23200

    【说站】python变量如何在作用域使用

    python变量如何在作用域使 1、全局作用域变量在局部作用域未定义(赋值或参数)时,全局作用域变量可以在局部作用域读取。...>>> def func():     print(a)  # 这种写法是不好的        >>> a = 2     # a是全局作用域变量,但可以被局部作用域读取 >>> func() 2 2、...当变量被定义为局部作用域时,局部作用域不再读取全局作用域的变量,当变量被定义前读取时,就会出现错误。...>>> b = 5 >>> def func(a):     print(a)     print(b)    # 尝试打印b变量出错,程序终止     b = 8        >>> func(3)..., in func     print(b) UnboundLocalError: local variable 'b' referenced before assignment 以上就是python变量在作用域的使用

    88610

    【Java多线程】如何正确使用 Conditon 条件变量

    使用背景在介绍 Condtion 的使用场景之前,我们先来考虑这样的场景:当我们在执行某个方法之前,我们获得了这个方法的锁,但是在执行过程中我们发现某个条件不满足,想让方法暂停一会儿,等条件满足后再让这个方法继续执行...使用场景Condition接口作为Object.wait()/notify()的替代品,当我们给某个方法加锁后,发现某个条件不满足,想让方法暂停一会儿,等条件满足后再让这个方法继续执行。...这种时候,我们就可以使用Condition接口。...实例为了让这个锁更方便获得,实例代码里面我将这个锁设为静态的//定义一个锁public static final Lock reentrantLock = new ReentrantLock();//定义属于这个锁的条件变量...class Main { //定义一个锁 public static final Lock reentrantLock = new ReentrantLock(); //定义属于这个锁的条件变量

    22720
    领券