首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中,如何理解“内嵌闭包”?

在Swift中,如何理解“内嵌闭包”?
EN

Stack Overflow用户
提问于 2017-02-13 03:04:29
回答 1查看 2.7K关注 0票数 6

所有人。当我阅读闭包时,没有内联闭包的定义。

Q1:如何理解内联中的“内联闭包”?

Q2:“内嵌闭包”和普通闭包有什么不同?

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-13 04:30:11

内联值是直接使用的值,而不首先分配给中间变量。考虑这两个例子:

代码语言:javascript
复制
let number = 1
print(number)

在这里,1被分配给一个中间变量number,然后打印该变量。

代码语言:javascript
复制
print(1)

在这里,1是一个内联的整数字面值,直接打印。

闭包也是如此。

代码语言:javascript
复制
let evenNumberFilter: (Int) -> Bool = { $0 % 2 == 0 }
print((0...10).filter(evenNumberFilter))

在这里,{ $0 % 2 == 0 }是一个闭包(类型为(Int) -> Bool),在使用之前分配给中间变量evenNumberFilter

代码语言:javascript
复制
print((0...10).filter{ $0 % 2 == 0 })

在这种情况下,直接使用{ $0 % 2 == 0 }。这是一个内嵌式闭包。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42196044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档