iOS 开发者可以用这些 Swift 技巧简化代码
在我早年刚做iOS开发时,经常重复写一些与Swift内置函数相同的函数。今天这篇文章,给大家分享一些技巧使代码更清晰简洁。
Reduce() 函数
我们有时会需要计算数组的总和或者乘积,这种情况你可能第一反应是用for循环,如:
let numbers = [2, 3, 5]
var result = 0
for num in numbers {
result += num
}
print(result)
// Prints 10
就性能而言,这样写没有任何问题。但是 reduce 函数()可以让代码更简单一些:
let numbers = [2, 3, 5]
let result = numbers.reduce(0, +)
// 这等效于以下内容:
// let result = 0 + 2 + 3 + 5,其中0是你输入的初始值
print(result)
// Prints 10
类似地,我们可以用一行代码计算数组的乘积:
let numbers = [2, 3, 5]
let result = numbers.reduce(1, *)
// 这等效于以下内容:
// let result = 1 * 2 * 3 * 5,其中1是你输入的初始值
print(result)
// Prints 30
Swift 为 Array 提供了一些内置函数。用 for 循环时,不如考虑是否有一个内置函数可以替代。如果你不确定,一定要看看 Apple Swift 的文档。下面是两个使用 Swift 内置函数来简化代码的例子:
// 过滤数组项
struct Person {
var firstName: String
var lastName: String
}
let people = [
Person(firstName: "Bill", lastName: "Gates"),
Person(firstName: "Steve", lastName: "Jobs"),
Person(firstName: "Elon", lastName: "Musk"),
Person(firstName: "Steve", lastName: "Wozniak")
]
let results = people.filter { $0.firstName == "Steve"}
// 结果包含两个人,Steve Jobs 和 Steve Wozniak
// 下面是另一个例子
// 检查数组是否包含项
let numbers = [2, 3, 5]
if numbers.contains(5) {
print("the array contains number 5")
else {
print("the array does NOT contain number 5")
}
三元运算符? :
三元运算符在编程语言中很常见,是个很方便的操作符,尤其是当你需要根据条件为变量赋值时。当然也不要过度使用它,正确地使用它可以简化代码并提高代码的可读性。
let isMarried = true
// 使用 if-else 语句
let prefix: String
if isMarried {
prefix = "Mrs"
else {
prefix = "Ms"
}
// 使用三元运算符
let prefix = isMarried ? "Mrs" : "Ms"
默认值
合并操作符??可以使打开可选值变量更轻松些。
// 不使用合并操作符??的代码像这样
let name: String? = nil
let greetingName: String
if let nameTmp = name {
greetingName = nameTmp
} else {
greetingName = "Customer"
}
let greeting = "Dear \(greetingName)"
// 使用合并操作符??像这样简化你的代码
let name: String? = nil
let greetingName = name ?? "Customer"
// 如果名称为零,则返回“客户”。
// 否则返回 name 的值。
let greeting = "Dear \(greetingName)"
总结
作为开发者,避免重复造轮子是必要的,下面总结一些技巧,能够帮你更快更清晰的编写代码。
Reduce () :当需要组合一个整数列表时使用它。
Filter ((Element)-> Bool)-> [ Element ] :当需要过滤数组中的项时使用它。
Contains (Element)-> Bool :当需要检查数组中是否存在某个项时使用它。
三元运算符:? :当你需要根据一个条件给一个变量赋值时使用它。
默认值合并操作符?? :当你需要打开一个可选值变量并想设置一个默认值时使用它。
原文链接:https://markuswu1234.medium.com/swift-tricks-that-junior-ios-developers-might-not-know-61fd31b44055
- 点赞
- 收藏
- 关注作者
评论(0)