iOS Apps 开发(Swift)(11)——Persist Data

前言:网上一直没有找到用Swift开发IOS的好的教程,所以找了官网的文档翻译一下算了。如有错误欢迎指正。博主首发CSDN,mcf171专栏。

博客链接:mcf171的博客

原文链接:Implement Edit and Delete Behavior

——————————————————————————————

在本次课程中,我们将关注如何通过我们的FoodTracker app 来保存菜品列表。数据持久化是iOS app开发中最重要和常见的问题之一。iOS有很多持久化数据存储的解决方案。在本次课程中,我们将使用 NSCoding作为数据吃就好的机制。 NSCoding 是一个轻量级的接口。

学习目标

在本次课程中,你可以了解到:

  • 创建一个结构体
  • 理解静态属性和实例属性的区别
  • 施工 NSCoding接口来读写数据

保存和加载菜品

在这一部中我们将实现Meal 类的保存和读取的功能。使用了 NSCoding方法之后,Meal类能够对于他自己的每一个属性进行存储和加载。数据的存储和加载都是通过制定的key来进行操作。比如说我们可以使用key “name” 来存储name 的属性值

为了能共对已每一个数据来编码对应的key,我们需要创建一个结构体来存储这些key字符串。通过这样的方式,我们可以在我们工程的任一地方都是用结构体常量,而不是直接写这些字符串。

实现 key 的结构体

1、打开 Meal.swift

2、在Meal.swift中的 //MARK: Properties 小节下添加结构体

// MARK: Types
 
struct PropertyKey {
}

3、在结构体中添加属性

static let nameKey = "name"
static let photoKey = "photo"
static let ratingKey = "rating"

每一个常量都对应了在Meal中的属性。static 关键字表明这是结构体本身的变量而不是它实力的变量。这些值同样也不会发生改变。

PropertyKey结构体应该为:

struct PropertyKey {
    static let nameKey = "name"
    static let photoKey = "photo"
    static let ratingKey = "rating"
}
为了可以进行编码和解码这些属性,Meal需要遵循NSCoding接口,所以Meal就需要称为NSObject的子类。NSObject是为运行时系统定义了一个基本的接口类。

成为NSObject 的子类,并遵循NSCoding
1、在Meal.swift中找到类的声明

class Meal {
   

2、在Meal后面加一个冒号:然后添加NSObject

class Meal: NSObject {
   

3、在NSObject后加一个逗号,然后添加NSCoding来采用NSCoding接口

cl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值