swift搞那么复杂的无名函数,实际开发中用的多吗?

[复制链接]
75 7
swif的无名函数非常复杂,又是可以省略参数,又是可以把最后的参数放在括号外,又是可以省略括号。

不知道为什么要搞得那么复杂。 请问大家,这些东西在实际开发中用的多吗? 如不实用就不管它了

举报 使用道具

回复

7 个评论

Tiomanostib  新手上路  发表于 2019-2-11 04:38:06  | 显示全部楼层
swif的无名函数非常复杂,又是可以省略参数,又是可以把最后的参数放在括号外,又是可以省略括号。

不知道为什么要搞得那么复杂。 请问大家,这些东西在实际开发中用的多吗? 如不实用就不管它了

举报 使用道具

回复
kitman311  注册会员  发表于 2019-2-11 06:04:01  | 显示全部楼层
不知道你说的无名函数是什么, 匿名函数闭包(Closures)吗?

举报 使用道具

回复
aigochip  新手上路  发表于 2019-2-11 07:09:52  | 显示全部楼层
说的是闭包么?

举报 使用道具

回复
NidasoReomi  新手上路  发表于 2019-2-11 07:11:46  | 显示全部楼层
意义不大,感觉还是写全可读性好一些

举报 使用道具

回复
BorfagEnemo  新手上路  发表于 2019-2-11 08:09:28  | 显示全部楼层
这是给大神用的

举报 使用道具

回复
0317wangf  注册会员  发表于 2019-2-11 08:27:05  | 显示全部楼层
简略方式用得地方并不多,也就sort这类函数能看出简略方式的明显效果,但为了这么一点点地方,为了达到简写效果,学习者还要死记硬背一样给它记下来,真的不如给写全了来的好。
我是来吐槽的。
感觉swift设计劲儿没使到刀刃上,花这么大心思设计闭包的各种简略方式,搞得他自己也累,学习者也累。而其他有的地方设计得一塌糊涂。比如:
数组、字典是值类型,这个。。。还有更让人难受的关键字太多,有的甚至那么设计都没必要,让程序员学起来很累,比如python可能你几天就学得很明白了,swift几个月下来都没觉得学到什么东西似的。
例如mutating之类的,其实完全可以不要这个关键字,程序员用着也不会有违和感,而且编译器也能判断出程序没有分歧。但它非得让你写一个mutating,只因为结构体给设计成了值类型,出来一个mutating来告诉编译器本结构体要改变自身的内容,看来它是不管你程序员累不累,反正你用了我的swift就得自己负责干这些无谓的事儿。
还有static class这两个关键字来标记是类函数,class明明是类,它却用在指定类函数上,其他地方不节省关键字,这个地方却节省起来。我在网上看到有人问 class var 与var什么区别,看来这位朋友就是被class给搞糊涂了。他不知道此时class是在标示类函数,也不知道此时var指定的变量其实是个计算型变量。
再就是convenience,总感觉有更好的设计方式,不然初始化都给搞得比其它语言复杂得多。c++功能也很全,初始化这块儿也没觉得像swift这么复杂的。
swift我勒个去。
总体说,个人感觉有的地方设计很混乱。不过swift还是有它独到之处,学好swift还是很好的。我勒个去。

举报 使用道具

回复
BorisMig  新手上路  发表于 2019-2-11 08:30:45  | 显示全部楼层
答:用得非常多,所以要简写。

另外,Swift 对完美的追求已经到了强迫症的地步,该省略的不会不省略,不该省略的不会省略。
举个例子:
++i 是对 i+=1 这种写法从C语言开始各个语言争相效仿,Swift 3.0 把它给砍掉了,因为它比 i += 1 只是少打了一个字符,又带来一点学习成本。

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ios.irunthink.com
搜索
热搜: iOS swift 下拉刷新

图文热点

更多

开发教程

更多

客服中心

400-800 周一至周日 9:30-17:30 仅收市话费

关注我们

  • 微信扫描
  • 关注微信
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
快速回复 返回顶部 返回列表