首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
SketchK
掘友等级
iOS工程师
|
美团点评
aka 47
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
SketchK
关注了
苹果API搬运工
iOS工程师 @美团点评
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 031 - Recursively calling closures as inline functions
这段代码在 records 函数中内定义了一个名为 iterate 的嵌套函数,当 nextRecord 满足 matches 方法的条件时,它返回 nextRecord ...
1
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 030 - Passing self to required Objective-C dependencies
像 DataLoader 和 Renderer 这样的工具类,八成是要与 Cocoa 框架打交道,例如 URLSession 的 delegate 需要继承 NSObjec...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 029 - Making weak or lazy properties readonly
今天的这段代码为 Node 类设置了两个 readonly 的属性:parent 和 children,与其他 read only 属性不太一样的地方是:它们并没有显式的声...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 028 - Defining static URLs using string literals
图示里的代码让 URL 遵守了 ExpressibleByStringLiteral 协议,并重写了其对应的构造器,使我们能够通过字符串的字面量直接创建 URL 对象。 如...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 027 - Manipulating points, sizes and frames using math operators
这段代码在 CGSize 类型中重载了名为 * 的中缀运算符,新的定义使其能够按照右侧的值等倍扩大 CGSize 中的 width 和 height。 运算符在 Swift...
赞
2
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 026 - Using closure types in generic constraints
这段代码利用扩展的方式为 Sequence 增加了 2 个 API,并通过 where 语句约束了元素的类型为 ()->Void 或者 ()->String 才可以使用其对...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 025 - Using associated enum values to avoid state-specific optionals
截图里的上半部分是 Player 类型的定义,在这个定义里面,我们看到它使用 5 个属性来表示游戏里的状态和相关数据。 而截图里的下半部分是对 Player 类型 的定义进...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 024 - Using enums for async result types
截图展示了在处理异步回调时,通过使用枚举类型作为回调函数的参数,可以让代码的自解释性和可读性变得更好。 相比于之前的代码,我们发现 x 的含义变得十分模糊。 作为调用者,我...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift 小贴士 023 - Working on async code in a playground
为了使 Playground 具有延时运行的本领,我们需要引入 Playground 的 “扩展包” PlaygroundSupport 框架。现在这个框架中包含了几个与 ...
1
1
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 022 - Overriding self with a weak reference
在处理逃逸闭包内部的逻辑时,我们通常会使用 weak self 的方式来避免循环引用。为了在闭包里面正确的使用 self 变量,我们需要通过可选绑定的方式将原先的 self...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 021 - Using DispatchWorkItem
代码截图里,首先使用 DispatchWorkItem 创建了一个待执行任务,然后我们将该任务放在主队列中,声明该任务会在 1 秒后执行。最后一句代码不是必要的,它表示立即...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 020 - Combining a sequence of functions
代码截图里声明了一个 + 操作符,该操作符的两侧均为函数类型,且能够将 + 操作符的左参函数的返回值作为右参函数的入参。从而实现了一种类似“链式调用”的效果。 运算符非常基...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 019 - Chaining optionals with map() and flatMap()
截图里 BEFORE 和 AFTER 在代码逻辑上完全一致,只是使用了两种不同的编码风格。前一种使用了常见的可选绑定,方法调用等手段,而后一种仅仅通过使用高阶函数就完成了所...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 018 - Using self-executing closures for lazy properties
代码截图里的核心点是在于 StoreViewController 里的 collectionView 属性不仅是一个延时加载存储属性,还采用了闭包的方式初始化属性缺省值。 ...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 017 - Speeding up Swift package tests
Swift Package Manager(Swift 包管理器,一般简称 SwiftPM 或者 SPM)是苹果官方提供的一个用于管理源代码分发的工具,旨在使分享代码和复用...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 016 - Avoiding mocking UserDefaults
代码截图里是一个关于模拟登录的单测用例,在这个测试用例中,测试的结果是与用户的 UserDefaults 设定相关联,所以需要在 setup() 方法中设置好初始状态。 我...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 015 - Using variadic parameters
这段代码为 Canvas 类拓展了一个名为 add(_ shapes: Shape...) 的函数,由于不确定函数的入参个数,这里使用了可变参数作为入参,即 Shape.....
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 014 - Referring to enum cases with associated values as closures
代码最开始定义一个名为 UnboxPath 的枚举类型,它有两个枚举值,一个成员值的名称叫做 key,具有 String 类型的关联值,另一个成员值的名称是 keyPath...
赞
评论
分享
SketchK
iOS工程师 @美团点评
·
4年前
关注
Swift Tips 013 - Using the === operator to compare objects by instance
在代码截图中,我们看到 Enemy 通过 InstanceEquatable 拓展遵循了 Equatable 协议并重载了 == 运算符。声明了只有内存地址相等的状态下才符...
赞
评论
分享
下一页
个人成就
文章被点赞
85
文章被阅读
27,630
掘力值
636
关注了
2
关注者
28
收藏集
1
关注标签
14
加入于
2016-04-28