韦弦的偶尔分享

主要工作是iOS和微信小程序开发,所以也主要分享这些杂七杂八的知识,希望有用。
355 篇文章
129.7K 次阅读
32 人订阅

全部文章

韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Swift 中 key paths 的能力

自从swift刚开始就被设计为是编译时安全和静态类型后,它就缺少了那种我么经常在运行时语言中的动态特性,比如Object-C, Ruby和JavaScript。...

8520
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

在 Swift 中自定义操作符

很少有Swift功能能和使用自定义操作符的一样产生如此多的激烈辩论。虽然有些人发现它们真的有用,可以降低代码冗余,或实施轻量级语法扩展,但其他人认为应该完全避免...

10540
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

使用 key paths 创建自定义查询函数

作为一个相当严格,静态编译的语言,Swift可能不会在语法自定义方面提供许多渠道,但这实际上确正好相反。通过自定义和重载运算符,key paths,函数/结果构...

6610
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Swift 基于闭包的类型擦除

与许多其他语言相比,使Swift更加安全,更不易出错的原因之一是其先进的(并且在某种程度上是不容忍的)类型系统。这是一种语言功能,有时可能会给人留下深刻的印象,...

10320
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Swift 中风味各异的类型擦除

Swift的总体目标是强大得足以用于低级(low-level)系统编程,又足够容易以便初学者学习,有时会导致非常有趣的情况——当 Swift 功能强大的类型系统...

11720
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Codable 自定义解析 JSON

大多数现代应用程序的共同点是,它们需要对各种形式的数据进行编码或解码。无论是通过网络下载的JSON数据,还是存储在本地的模型的某种形式的序列化表示形式,对于几乎...

15120
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Swift 结构体构造器

在Swift中,定义为结构体的类型会自动获得由编译器生成的默认初始化程序——所谓的“成员构造器”,因为编译器将根据给定结构体的成员(即其存储的属性)生成该初始化...

9820
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Swift 泛型之条件性符合协议

Swift 泛型条件性符合(Conditional conformances) 表示泛型类型只有在其类型参数满足某些要求时才符合特定协议的概念。

11230
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Swift 中的属性包装器

当处理代表某种状态形式的属性时,通常会在每次修改值时触发某种关联的逻辑。例如,我们可以根据一组规则验证每个新值,可以以某种方式转换分配的值,或者每当值更改时都可...

15530
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Codable 解析 JSON 配置默认值

2017年推出的 Codable 无疑是 Swift 的一大飞跃。尽管当时社区已经构建了多种用于本地 Swift 值和 JSON 之间 的编解码工具,但由于 C...

20320
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Codable 解析 JSON 忽略无效的元素

默认情况下,使用 Swift 内置的 Codable API 编码或解码数组只有全部成功或者全部失败两种情况。可以成功处理所有元素,或者引发错误,这可以说是一个...

18040
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

100 Days of SwiftUI —— Day 100:期末考试

今天是SwiftUI 100天的最后一天,这意味着您做到了。您经历了整整100天的学习,观看视频,参加测试,完成挑战和编写代码的过程,并最终做到了这一点。

11620
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

100 Days of SwiftUI —— Day 99:SnowSeeker (四)

现在,我们的应用已完成,现在是时候应对一些挑战以帮助巩固您的知识,然后进行快速测试以确保您记住了所学的知识。

9620
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

100 Days of SwiftUI —— Day 98:SnowSeeker (三)

现在该写最后一个项目的最后部分了,这意味着实现三个重要功能:调整UI以充分利用我们的可用空间,在点击时显示有关每个设施的更多信息,并让用户标记收藏夹。

11020
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Hacking with iOS: SwiftUI Edition - SnowSeeker 项目——挑战

这不是一个特别复杂的项目,但它仍然教会了新技能,例如拆分视图布局,可选警报Alert,具有透明组的布局,甚至是ListFormatter。它还使您有机会练习许多...

9220
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(二)

SwiftUI为我们提供了两个环境值来监视应用程序的当前size class,这实际上意味着在空间有限时可以显示一种布局,在空间足够时可以显示另一种布局。

7720
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

100 Days of SwiftUI —— Day 97:SnowSeeker (二)

今天,我们将实施程序的前半部分,这意味着我们将获得滑雪胜地的列表,显示更多信息的详细视图以及可以并排显示它们的NavigationView。就其本身而言,这不会...

9220
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)

在此应用中,我们将同时显示两个视图,就像 Apple 的 Mail 和 Notes 应用一样。在 SwiftUI 中,这是通过将两个视图放入Navigation...

7710
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

100 Days of SwiftUI —— Day 96:SnowSeeker (一)

尽管到目前为止,我们所有的项目都可以在iPad上运行,但我们并没有真正花时间停下来并深入研究它。好吧,这是我们新项目中的更改,因为我们将要构建一个利用iPad提...

8920
韦弦zhy

深圳智多豚物联技术有限公司 · IOS开发工程师 (已认证)

SwiftUI:alert() 和 sheet() 与可选值一起使用

SwiftUI有两种创建警报和表单的方式,到目前为止,我们仅使用一种方法:绑定到布尔值,该布尔值在变为 true 时显示 Alert 或 Sheet。

14440

扫码关注云+社区

领取腾讯云代金券