已采納回答 / 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是創建一個新的數據類型??梢允褂胹witch的地方都可以使用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