M:modol 背後運算 (後台)
V :view UI部分 (前端)
C :controller 連結前後端
Xcode 技巧
ctrl + I 自動排版
網友寫得不錯的 Swift gitbook 筆記
https://hugolu.gitbooks.io/learn-swift/content/Basic/Types.html
# currentTitle API文件 Declaration 範例
var currentTitle: String? { get }
let (不可變動的常數)
var (可變動的變數)
currentTitle 變數名稱
String 變數型別
?(暫時認知是 問號是因為要設定值 驚嘆號是因為要取值)
let (不可變動的常數)
var (可變動的變數)
currentTitle 變數名稱
String 變數型別
?(暫時認知是 問號是因為要設定值 驚嘆號是因為要取值)
# 型別的宣告可省略(會自動判斷型別 但也可以清楚宣告而不省 ) 好矛盾呀~~
let name:String = “Swift ” —-> “Swift ”
let name = “Swift ” —-> “Swift ”
以上兩行結果一樣
var email = “” (swift自動判斷為String)
# 當初看哈佛iOS9教學視頻 做的一個計算機練習
let name:String = “Swift ” —-> “Swift ”
let name = “Swift ” —-> “Swift ”
以上兩行結果一樣
var email = “” (swift自動判斷為String)
# 當初看哈佛iOS9教學視頻 做的一個計算機練習
print("touch \(digit) digit")
印出來是 "touch Optional("5") digit "
\(digit) \() 反斜線括號內的變數大部分可以自動轉型成String 印出來是 "touch Optional("5") digit "
private int a=1; //實例變量 Instance Variables
哈佛大叔小筆記
第一堂
Stanford - Developing iOS 9 Apps with Swift - 1. Course Overview and iOS9 introduction
#1_2016.09.30
因為第一個參數也就是sender的這個參數名稱不要寫(雖然很奇怪但是就是這樣?!),所以要改成,而後面的otherArgument: 的Int 改成要傳的參數“5”
self.touchDigit(sender: UIButton, otherArgument: Int)
self.touchDigit(someButton, otherArgument: 5)
#2_2016.10.03 Optional
Optional 像是型別的一種像是 Int bool 一樣 翻成中文是可選型別的意思
class ViewController: UIViewController {
@IBAction func touchDigit(sender: UIButton ){
let digit = sender.currentTitle
print("touch \(digit) digit")
}
}
《The Swift Programming Language》正體中文版 寫到Optional
https://tommy60703.gitbooks.io/swift-language-traditional-chinese/content/chapter2/01_The_Basics.html#optionals
《The Swift Programming Language》正體中文版 寫到Optional
https://tommy60703.gitbooks.io/swift-language-traditional-chinese/content/chapter2/01_The_Basics.html#optionals
來看一個範例。Swift 的
String
型別有一個叫做toInt
的方法,作用是將一個String
值轉換成一個Int
值。然而,並不是所有的字串都可以轉換成一個整數。字串"123"
可以被轉換成數字123
,但是字串"hello, world"
不行。
下面的範例使用
toInt
方法來嘗試將一個String
轉換成Int
:let possibleNumber = "123"
let convertedNumber = possibleNumber.toInt()
// convertedNumber 被推測為型別 "Int?", 也就是 "optional Int"
因為
toInt
方法可能會失敗,所以它回傳一個optional Int
,而不是一個Int
。一個 optional Int
被寫作Int?
而不是Int
。問號暗示包含的值是 optional 型別,也就是說可能包含Int
值也可能不包含值。(不能包含其他任何值比如Bool
值或者String
值。只能是Int
或者什麼都沒有。)if 語句以及強制解析
你可以使用
if
語句透過對比nil的方式來判斷一個 optional 是否包含值。使用「等於」運算子(==
)或是「不等於」運算子(!=
)來執行這樣的比較。
如果一個 optional 有值,就會被認為是「不等於」
nil
。if convertedNumber != nil {
println("convertedNumber contains some integer value.")
}
// 輸出 "convertedNumber contains some integer value."
當你確定 optional 確實包含值之後,你可以在 optional 的名字後面加一個感嘆號(
!
)來獲取值。這個驚嘆號表示「我知道這個 optional 有值,請使用它。」這被稱為 optional 值的強制解析(forced unwrapping):
@IBOutlet weak var display: UILabel!
@IBOutlet weak var display: UILabel?
哈佛大叔說 驚嘆號 和 問號 都表示 optional
let digit = sender.currentTitle!
加了!後 在API文件中是個值沒有API文件中寫的String後面帶有"?"
console 比較
let digit = sender.currentTitle
原本在console是
touch Optional("8") digit
touch Optional("0") digit
let digit = sender.currentTitle!
console變成
touch 5 digit
touch 2 digit
display.text = String(M_PI)// 強制轉型成String
第二堂
Stanford - Developing iOS 9 Apps with Swift - 2. Applying MVC
#5_2016.10.21
因為寫計算機功能 常用到背後運算 double 和 顯示前端的 string 轉換
所以乾脆用這方法 一次解決
第二堂
Stanford - Developing iOS 9 Apps with Swift - 2. Applying MVC
#5_2016.10.21
因為寫計算機功能 常用到背後運算 double 和 顯示前端的 string 轉換
所以乾脆用這方法 一次解決
// double turn display string
var displayValue: Double{
get{
return Double(display.text!)!
}
set{
display.text = String(newValue)
}
}
#6_2016.10.30
IF 和 LET並用的情況,要不然基本上在switf 裡面,if 是要一個bool,比方說 if score > 50{…}
參考網址
http://appsgaga.com/swift-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-if-%E5%92%8C-let%E4%B8%A6%E7%94%A8%E7%9A%84%E6%83%85%E6%B3%81/
if let thisScore = score{
...
}
沒有留言:
張貼留言