Swift一个语法引起的热烈讨论

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看252 回复回复3 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 252|回复: 3
收起左侧

Swift一个语法引起的热烈讨论

[复制链接]
Anewczs 发表于 2016-9-28 17:31:35 | 显示全部楼层 |阅读模式
快来登录
获取最新的苹果动态资讯
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码


16:48:45 锋少已加入Swifthumb QQ二群:245285613


韩智鸿工程师  17:01:48

Swift一个语法引起的热烈讨论

Swift一个语法引起的热烈讨论 - 敏捷大拇指 - Swift一个语法引起的热烈讨论


韩智鸿工程师  17:02:01
请问下这个!=nil 要怎么写

Anew阿牛  17:04:01
发帖去吧

蓝天  17:04:07
[Swift] 纯文本查看 复制代码
if let json = json {


Anew阿牛  17:04:09
最近运营严打

韩智鸿工程师  17:06:18
怎么理解 这句话呢?

韩智鸿工程师  17:06:19
[Swift] 纯文本查看 复制代码
if let json = json {


蓝天  17:06:24
@韩智鸿工程师  话说我昨天发的帖子里有个iOSBaseProject,里边有几个工具方法,就是利用JSONSerialization解析数据的
https://github.com/DingHub/iOSBa ... es/JSONHelper.swift

蓝天  17:06:27
可以看看

蓝天  17:06:33
可选绑定

蓝天  17:06:41
json是一个可选类型

韩智鸿工程师  17:07:29
嗯谢谢

蓝天  17:07:42
之前的写法是
[Swift] 纯文本查看 复制代码
if let newJson = json {

newJson就是json所包含的实际值,如果json是nil就不会走这个if分支

韩智鸿工程师  17:07:59
原来这样

蓝天  17:08:05
后边的语法简化了,可以直接
[Swift] 纯文本查看 复制代码
if let json = json {


韩智鸿工程师  17:08:28
好奇芭的语法

韩智鸿工程师  17:08:37
都反人类了

Anew阿牛  17:09:58
[Swift] 纯文本查看 复制代码
if let json = json  

这是3.0开始支持的吧?

芒果味  17:10:12
不是

蓝天  17:10:24
2.几就支持了

蓝天  17:10:27
具体记不清了

芒果味  17:10:33
我现在就在用

Anew阿牛  17:10:50
是觉得另取一个name挺别扭的

芒果味  17:10:51
就是一个判断nil的

Anew阿牛  17:10:58
的确是觉得另取一个name挺别扭的

蓝天  17:11:04
是的

芒果味  17:11:15
同一个name不好理解

Anew阿牛  17:11:19
想不到这种同名赋值的做法,Swift都支持

Anew阿牛  17:11:40
同一个name也就if这一行难理解,{}里面就好多了

芒果味  17:11:48
主要是没写全

Anew阿牛  17:12:06
增删这一行 都不用改里面的代码

芒果味  17:12:09
应该是
[Swift] 纯文本查看 复制代码
if let json = json as? JSON {

                }


韩智鸿工程师  17:12:52
估计一些不做SWIFT的程序员看到 if let a=a{ }  估计都蒙B了

蓝天  17:13:04
那是因为你前边把json定义成了AnyObject

韩智鸿工程师  17:13:09
谁还会想到样的逻辑

蓝天  17:13:11
所以要这样as。。。。

蓝天  17:13:30
看看我刚发的那个链接吧

蓝天  17:13:41
要用好swift的简洁

芒果味  17:13:51
前边的json没有定义任何类型  那个let在那写着呢

蓝天  17:14:21
[Swift] 纯文本查看 复制代码
let json: AnyObject? = try …


蓝天  17:14:25
就是这句了

芒果味  17:14:27
这样let的json  前边那个已经不是可选类型了

蓝天  17:14:42
嗯,是json的实际值

芒果味  17:14:57
你写这个跟上边那个if的不一样的

芒果味  17:15:16
这个json还是个可选类型

蓝天  17:15:19
[Swift] 纯文本查看 复制代码
let json: AnyObject? = try …

直接写成
[Swift] 纯文本查看 复制代码
let json = try…


蓝天  17:15:36
不过对try的用法,你那个截图也有些问题

蓝天  17:16:26
推荐一下王巍的《swifter 100个swift必备tips》

蓝天  17:16:39
资源很好找

蓝天  17:16:51
质量很高

蓝天  17:16:53
~~~

芒果味  17:17:05
你确定那个不是=的问题?

芒果味  17:17:14
你右边没有空格啊

蓝天  17:17:40
细节就不在这里纠结了

蓝天  17:17:46
先研究研究吧

芒果味  17:18:55
swift不是oc  右边没有空格肯定报错

Anew阿牛  17:18:59
等号两边都要空格,

Swift Style Guide 最详尽的 Swift 代码规范指南
http://www.swifthumb.com/thread-14380-1-1.html

芒果味  17:19:07
要不你就左边也别加空格

蓝天  17:21:21
嗯,这方面语法严格,编译器强制我们写美观~

蓝天  17:21:48
记得最初写那个 Range,
0..<100

蓝天  17:22:00
<号后边写了个空格

蓝天  17:22:07
死活没发编译

swifthumb  17:22:10
苹果Style

蓝天  17:22:17
后来才发现是不能要空格~

蓝天  17:22:52
这些细节想想都有意思在

蓝天  17:23:00
有趣

Anew阿牛  17:23:05
这次讨论要是发成帖子,对不在这个群里的人也补益到了



都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元
转行的 发表于 2016-9-28 18:12:15 | 显示全部楼层
Swift语法太灵活了
小开开 发表于 2016-9-28 18:19:32 | 显示全部楼层
群里这么热闹啊
救世主 发表于 2016-9-29 17:08:23 | 显示全部楼层
人气很旺啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表