专栏首页韦弦的偶尔分享100 Days of SwiftUI —— Day 37:iExpense(二)

100 Days of SwiftUI —— Day 37:iExpense(二)

今天,您将使用@ObservedObject@Publishedsheet()CodableUserDefaults等来构建完整的应用程序。我意识到这似乎很多,但我希望您尝试考虑背后发生的所有事情:

  • @Published自动发布更改公告。
  • @ObservedObject监听这些公告,并使用该对象刷新所有视图。
  • sheet()监视我们指定的条件,并自动显示或隐藏视图。
  • Codable可以将Swift对象转换为JSON,然后几乎不需要我们提供任何代码。
  • UserDefaults可以读取和写入数据,以便我们可以更即时地保存设置。

是的,我们需要编写代码以将这些内容放置在适当的位置,但是由于删除了许多样板代码,因此剩下的内容非常出色。正如法国作家和诗人安托万·德·圣艾修伯里(Antoine de Saint-Exupery)曾经说过的那样:

完美,不是在没有更多东西可以添加的时候,而是在没有更多东西可以拿走的时候。 Perfection is achieved not when there is nothing more to add, but rather when there is nothing more to take away.

今天,您有五个主题需要研究,其中将学习@ObservedObjectsheet()onDelete()等更多内容。

Hacking with iOS: SwiftUI Edition - iExpense 项目

这是你构建的另一个应用程序,上下文中也使用了更多技术——很棒的工作!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hacking with iOS: SwiftUI Edition 视图和修饰符项目——挑战

    这个技术项目旨在深入探究特定的SwiftUI主题,我希望您在这里学到了很多有关视图和修饰符的知识——为什么SwiftUI的视图使用结构体,为什么some Vie...

    韦弦zhy
  • 为什么SwiftUI的视图使用结构体?

    如果您曾经为UIKit或AppKit(Apple的iOS和macOS原始用户界面框架)编程,您会知道它们使用类而非结构体来构造视图。SwiftUI并非如此:我们...

    韦弦zhy
  • Swift 5.2 将KeyPaths用作函数

    Swift 5.2的新功能之一:能够将KeyPaths用作函数。如果您只在闭包中返回某个KeyPath的值,这将非常有用。

    韦弦zhy
  • Oracle存储结构

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • python访问数据库

      python就内置了SQLite,所以python使用SQLite不需要安装任何东西,直接进行使用。

    yaohong
  • 腾讯蓝军安全通告:WebLogic远程代码执行漏洞(CVE-2020-14645)

    今日,Oracle官方发布WebLogic安全更新,其中修复了一个CVSS评分为9.8的严重漏洞(CVE-2020-14645),该漏洞通过T3协议和IIOP协...

    腾讯安全应急响应中心
  • 史上最奇葩的10款Android手机

    在2010年的Android市场上滑动键盘手机并不少,不过摩托罗拉决定推出一款与众不同的手机,型号叫Backflip。

    PhoenixZheng
  • 给系统类扩展属性(枚举)或方法

    developerbfl
  • 「 从0到1学习微服务SpringCloud 」08 构建消息驱动微服务的框架 Spring Cloud Stream

    官方定义 Spring Cloud Stream 是一个构建消息驱动微服务的框架。 简单来说,它就是用来与消息中间件进行交互的,我们不需要直接对消息中间件进行...

    KEN DO EVERTHING
  • 安卓工程师:秋招21家公司的面试真题总结

    之前一直混迹于牛客,现在也反馈一波给牛油们。下面是秋招的面试经历具体内容。 拼多多 学霸提前批Android研发工程师 offer 笔试 基于给定接口实现Ima...

    牛客网

扫码关注云+社区

领取腾讯云代金券