已采纳回答 / liuyubobobo
playground的这个提示功能是有这种bug的。所以语句已经提示有错了,右侧的显示输出就可以不理会了。提示的错误是程序语言根据编译原则执行出来的,所以在以后的编程学习中,你会经常遇到编译器告诉你的错误和你的实际错误不相符的情况。有经验的程序员,尤其是熟悉编译原理的程序员,可以很容易地根据编译器提示找到错误的根源,但是初学者会经常很糊涂,这是正常的。所以,不建议和编译器较劲,如果编译器报错,那么返回到教程中,看看报错的语句哪里写错了,而不要过度研究编译器的提示信息。在这里,你说的很对,区间运算符只有两种...
2016-05-12
已采纳回答 / liuyubobobo
恩,在第一章曾经介绍过:因为这套课程设计的是让拥有至少其他一门程序设计语言的同学了解swift语言用的,所以对于一些基础概念没有做解释。与此同时,教程在设计上不仅仅关注语法,同时分享了很多开发过程中的思考。这些思考对于编程零基础的同学来说可能没有用,甚至会造成一些误解,影响初学。你这样学习很好,看到不懂的就自己查明白,问清楚,或者,我在第一章就讲过,不妨先记下来,以后回头看会有更深刻的见解的。毕竟,这个世界上没有一份教材可以对所有人讲清楚所有内容:)
2016-05-12
已采纳回答 / liuyubobobo
和数学语言一样,+表示明确数字的正负属性。在数学中,我们也可以写+3表示3。只是因为我们大多数时候都使用正数,所以正号可以省略。但是,在一些情况下,明确数字的正负属性,是为了表意,而非功能性的作用。比如力学中,+可以代表正方向(或者某个方向,比如定义为右侧)。+10N和-10N都是10N的力,方向不同;再比如金融中,+表示盈利,-表示亏损;电磁学中,+表示正电荷,-表示负电荷,等等等等。因此,你在看这些内容的文档时,经常会看到+不被省略。虽然省略不影响最终的计算结果,但是加上表意更明确。同样的,这些领域的...
2016-05-12
已采纳回答 / liuyubobobo
red后也可以传入一个常量值哦,试试看?只不过在一般情况下,对于颜色,RGB值可能会变化,或者是从外面读取来,或者是计算来,所以使用变量存储;但是alpha值通常是固定的,所以用了硬编码。当然,RGB也能硬编码;alpha也能用变量。顺便一提:硬编码的1.0可以被认为是Float, Double或者CGFloat。但是生命成CGFloat类型的变量,就只能是CGFloat,要想当做Float或者Double使用,就需要类型转换哦~
2016-05-11
已采纳回答 / liuyubobobo
恩恩 请直接学习2.0。1.0和2.0,包括现在最新的是2.2,是swift语言的版本号,和学习顺序无关。苹果开发相关的学习,都学习最新的就对啦!
2016-04-24
已采纳回答 / liuyubobobo
枚举是指enum吗?enum会在第三季一开始介绍,enum是创建一个新的数据类型。可以使用switch的地方都可以使用if语句来解决。这就像所有的for循环都能用while循环来解决一样。关键在于,再合适的时候选择更简单、易读的写法。另外,在非常多的if...else if这样的情况下,使用swicth会效率高一些。不过对于现代的机器,这个效率差变得很小了。因为在编译器层面会再做优化。我个人比较强调易读性,尤其是在大的工程中。
2016-04-12
讲师回答 / liuyubobobo
非常好的问题!强烈建议慕课网可以给问题点赞!目前,String.Index类型完全可以当做一个整型来看。封装成这个新的类型是为了保证能够在字符串中通行处理Unicode字符的相关的问题。在这个意义下,startIndex就是一个0,可以被使用在任何其他字符串中。但是必须承认,这是不安全的,同时也失去了str1.startIndex这样声明的意义!也就是说str1.startIndex不能充当str1的迭代器!我之前没有尝试这个问题,现在看来,这个地方确实不够严谨。不过swift还在不断进化。可能以后,这个...
已采纳回答 / liuyubobobo
Hello, Swift,注意逗号后面有一个空格,一共是12个空格。第一个H的索引是0,最后一个t的索引是11,[0-11]一共12个字符。前闭后开就是[0,12),endIndex为12。
2016-04-10
已采纳回答 / liuyubobobo
由于慕课网的课程排期问题,第二季安排在了4月20日更新,欢迎关注。也可以在这门课程的github下提前看到后续精彩内容的源码哦:https://github.com/liuyubobobo/Play-with-Swift-2
2016-04-10
已采纳回答 / liuyubobobo
因为元组中没有一个名字叫做i的分量。在这里,.i中的i不会被替换成数字。事实上,元组不支持for in循环,因为本质上,元组不是一个序列。如果你构建的数据是一个序列,请使用数组。把元组想成是简单的结构体,包装一些信息。课程里的例子都很好——比如一个点的坐标,或者网络连接状态的返回值。
2016-04-07