
swift
文章平均质量分 94
iOS面试题Swift
这个作者很懒,什么都没留下…
展开
-
iOS面试策略之语言工具-Swift
本章节主要针对 iOS 的主流开发语言 Objective-C 和 Swift 进行分析和对比,同时也整理了 Xcode 编辑器的使用技巧和经验。正所谓工欲善其事必先利其器,说的就是考察的是开发者对自己手头工具和语言特性的掌握。在 iOS 开发中,语言的选择是最初的一步。现在苹果主推的编程语言是 Swift。Swift 自 2014 年发布以来,已经历经 4 个版本的迭代。在 TIOBE 编程语言排行榜上的目前位列 12 位,超过 Ruby 并远远甩开其上代语言 Objective-C。从性能上来说原创 2021-05-07 14:48:59 · 286 阅读 · 0 评论 -
iOS开发高级分享 - MacOSCatalina和Xcode 11 的快速UI预览
本文中描述的功能要求如下:Xcode 11MacOS CatalinaIOS 13设置为基SDK你的应用程序调试配置如果没有这三种情况,您的代码要么不会编译,要么不会呈现实时预览。点击此处即可获取精选面试资料对于SwiftUI我们可以开始使用它的功能今天从根本上加快和改进我们的发展进程-在不改变我们的UIKit应用程序中的代码行的情况下,子类UIButton它在自己周围画了一条边...翻译 2019-10-15 21:53:54 · 714 阅读 · 0 评论 -
iOS高级分享 - Swift:在SWIFT中封装配置代码
提供基础文章:“闭包”在代码重用和可配置性之间找到一个很好的平衡点通常是很有挑战性的。虽然理想情况下,我们希望避免重复代码并意外地创建多个真实源,但我们需要配置的各种对象和值的许多方式往往取决于它们所使用的上下文。本周,让我们看看几种不同的技术,这些技术可以让我们实现这种平衡-通过构建轻量级抽象,使我们能够封装配置代码,以及如何在代码库之间共享这些抽象,以提高其一致性。点击此处即可获取精选面...翻译 2019-10-14 22:19:59 · 392 阅读 · 0 评论 -
iOS — Swift高级分享:SWIFT协议的替代方案
毫无疑问,协议是SWIFT总体设计的主要部分-并且可以提供一种很好的方法来创建抽象、分离关注点和提高系统或功能的整体灵活性。通过不强烈地将类型绑定在一起,而是通过更抽象的接口连接代码库的各个部分,我们通常会得到一个更加解耦的体系结构,它允许我们孤立地迭代每个单独的特性。然而,虽然协议在许多不同的情况下都是一个很好的工具,但它们也有各自的缺点和权衡。本周,让我们来看看其中的一些特性,并探索几种在S...翻译 2019-10-08 20:30:10 · 449 阅读 · 0 评论 -
SWIFT高级分享 — SWIFT 5.1中的小而重大的改进
SWIFT 5.1现在已经正式发布,尽管它只是一个小版本,但它包含了大量的更改和改进-从基本的新特性,比如模块稳定性(它使sdk供应商能够发布预编译的SWIFT框架),到所有的为SwiftUI提供动力的新语法特性,甚至更远的地方。除了它的新功能外,SWIFT 5.1还包含了一些更小但仍然非常重要的新功能和改进。这种变化一开始看起来很小,甚至没有必要,但最终会对我们编写和构造SWIFT代码的方式产...翻译 2019-09-25 20:36:12 · 488 阅读 · 0 评论 -
iOS高级分享 — iOS可视化动态绘制连通图(Swift版)
今天我们有易到难大致分为三个部分。第一部分我们会画出相应的图,并该图是可以对每个点进行拖动的,在拖动的过程中,我们对其进行重绘。第二部分会取消拖动,使用UIView自带的动画来让其自己变换,当然本部分你也可以使用Timer或者GCD的TimerSource让其运动。第三部分则是第二部分的升级,再第二部分的基础上我们稍作改进,此部分我们使用的是DispatchSourceTimer来让每个点进行运动...转载 2019-09-18 20:34:47 · 456 阅读 · 0 评论 -
Swift高级分享 - 探索Swift标准库源代码
您是否发现自己无法理解框架或库,并希望您能看到源代码?Apple没有共享源代码,UIKit但如果您正在努力理解的方法是Swift标准库的一部分,那么您很幸运。访问GitHub存储库Apple在公共GitHub存储库中发布Swift编程语言的源代码,包括标准库:github.com/apple/swift您可能会发现在GitHub上浏览存储库已足以快速查看但我喜欢克隆并下载本地副本:$...翻译 2019-09-12 20:35:15 · 388 阅读 · 0 评论 -
Swift高级分享 - Timsort和Introsort:Swift的排序算法
您有没有问过自己Swift的排序方法使用了哪种算法?那里有很多排序算法,很可能你很少需要使用语言内置方法以外的东西。但是,如果您想要防止不需要的行为和令人讨厌的边缘情况,那么了解内置于您的语言中的排序算法的属性非常重要。sort()分析排序算法时,您需要搜索两个属性:1 - 分类稳定性排序算法的稳定性表示算法在排序后维持相等元素的原始顺序的能力。一个不稳定的排序算法没有保证了未排序的阵列中的...翻译 2019-09-11 20:24:02 · 357 阅读 · 0 评论 -
Swift高级分享 - Swift的减速器
当变换值的序列,这是很常见的每个元件上,以便把该序列到一个新的形式,通过使用API,如执行一些类型的操作,例如map,sort,或filter。然而,虽然这些API非常有用,但有时候我们并不是在寻找另一个值序列 - 而是将所有值都减少到一个值。这正是Reducer所做的,本周,我们来看看它们可以在Swift中使用的几种不同方式 - 从调用标准库的reduce功能到使用Apple新的Combine...翻译 2019-09-10 20:28:28 · 458 阅读 · 0 评论 -
Swift高级分享 - 在Swift中选择正确的数据结构
确定用于表示给定值集合的数据结构通常比看起来更棘手。由于每种数据结构都针对一定数量的用例进行了优化,因此找到每组数据的正确匹配通常会对我们的代码最终变得有效率产生重大影响。雨燕标准库附带了三个主要数据结构- Array,Dictionary以及Set-每个配备了一组不同的优化,优点和缺点。本周,我们来看看其中的一些特性,以及我们有时可能需要在标准库的范围之外进行冒险以找到满足我们需求的正确数据结...翻译 2019-09-04 20:48:55 · 265 阅读 · 0 评论 -
Swift高级分享 - 简单明了的在Swift中添加动画
向应用添加动画可能是一种很好的方式,可以让用户高兴,并通过动作吸引他们注意某些信息或动作。当部署在正确的位置时,动画可以真正使应用程序看起来更加精致和易于使用。iOS在创建动画时提供了一套不同的API,每个动画都面向某些用例,每个都提供不同级别的控制和自定义。一个这样的API UIView.animate,它使我们能够通过简单地将它们包装在一个闭包中来自动动画对UI的更改。对于Swift,有...翻译 2019-09-03 20:32:22 · 364 阅读 · 0 评论 -
Swift高级分享 - 在Swift中构建模型数据
在代码库中建立可靠的结构通常是必不可少的,以便更容易使用。然而,实现一个既足够严格以防止错误和问题的结构 - 以及对现有功能足够灵活的结构以及我们想要的任何未来变化 - 都可能非常棘手。对于模型代码而言尤其如此,模型代码通常由许多不同的功能使用,每个功能都有自己的一组要求。本周,让我们来看看构建核心模型的数据的几种不同技术,以及如何改进该结构对我们的其余代码库产生重大积极影响。同时小编这里有些...翻译 2019-09-02 20:18:57 · 887 阅读 · 0 评论 -
Swift高级分享 - 在Swift中缓存
使应用程序感觉快速和响应不仅仅是调整其UI的呈现方式,或者提高其操作和算法的执行速度 - 它通常与有效管理数据和避免不必要的工作同样重要。这种不必要工作的一个非常常见的来源是我们最终多次重新加载完全相同的数据。它可能是加载同一模型的重复副本的多个功能,或者每次重新显示在屏幕上时重新加载视图的数据。本周 - 让我们来看看缓存在这种情况下如何成为一个非常强大的工具,如何在Swift中构建一个高效优...翻译 2019-08-31 20:24:44 · 576 阅读 · 0 评论 -
Swift高级分享 - Swift中的可绑定值
可以说,为大多数平台构建应用程序最具挑战性的方面之一是确保我们呈现给用户的UI始终与我们的底层数据模型及其相关逻辑保持同步。遇到导致过时数据呈现的错误或由于UI状态与应用程序逻辑的其余部分之间发生冲突而发生的错误是很常见的。因此,发明了如此多的不同模式和技术,以便更容易确保UI在其基础模型发生变化时保持最新状态 - 从通知,代理到可观察的所有内容,这并不奇怪。本周,我们来看看一种这样的技术 - ...翻译 2019-08-30 20:25:40 · 419 阅读 · 0 评论 -
Swift高级分享 - 设计Swift API
每个人都是API设计师。虽然很容易将API视为仅与打包代码(如SDK或框架)相关的内容,但事实证明,所有应用程序开发人员几乎每天都会设计API。每次我们定义非私有属性或函数时,实际上我们都在设计API。但是,设计出色的 API起初可能非常棘手。我们不仅必须在易用性和提供足够的功能之间取得平衡,我们还需要考虑到这样一个事实,即不同的人将在我们的API领域中拥有不同程度的知识 - 并且还涉及到一定的...翻译 2019-08-29 20:36:30 · 260 阅读 · 0 评论