目前分類:iOS9 程式小技巧 (5)

瀏覽方式: 標題列表 簡短摘要

在Xcode 中不管是 iPhone 或 iPad 模擬器都不能使用照相機功能,

如果一定得要在撰寫程式時加上使用照相機的功能,

最好在 UIImagePickerControllerSourceType.Camera 這行之前加上一個 if 判斷, 如

if UIImagePickerController.isSourceTypeAvailable(.Camera) {

// Camera 可以正常使用時

} else {

print("Camera is not available.")

}


如果不加上這個 if 判斷, 在模擬器中按到 Camera 功能時, 

程式就會 crashed. 

文章標籤

小明學iOS 發表在 痞客邦 留言(0) 人氣()

在 Swift 2.0 以前使用的 do while  在 Swift2 改成 repeat while, 如下:

var counter = 1

本來是

do { 

println(counter)

counter++

}

現在 Swift2 則是

repeat {

print(counter)

counter++

}

文章標籤

小明學iOS 發表在 痞客邦 留言(0) 人氣()

在一般的程式語言中, Bool 通常只是型態(type), 經由判斷式如 if 等產生true 或 false.

而在 Swift 則可以用Bool() 直接判斷並得到 true 或 false.

ex:

let sample = 4

let a = Bool(sample%4)   // 結果 a 是 false, 因為沒餘數.

or 

let a = Bool(sample%2)    //結果 a 也是 false.

or 

let a = Bool(sample%1)    // 結果 a 也是 false.

or

let a = Bool(sample%0)    // error.

or

let a = Bool(sample%3)  // 得到 a 是 true, 因為有餘數, 所以是 true. 除了1,2,4 外應該其他 a 都是 true 了.

文章標籤

小明學iOS 發表在 痞客邦 留言(0) 人氣()

在Swift 2.0 之前的版本, print 有 print() 跟 println() 兩個函式, 跟 Java 的用法差不多.

然而在 Swift2 則拿掉了 println(), 而用 print() 取代了 println(), 如下:

那麼若要使用原本 print() 的不換行功能呢?


文章標籤

小明學iOS 發表在 痞客邦 留言(0) 人氣()

在 iOS9 中出現一個奇怪的現象(目前還不知道為何這樣設計?), 

就是 UITextField.text 的變數改成一定要用 let 宣告而不能用 var 宣告.

如: 

@IBOutlet  var  nameField:  UITextField!

let  enteredValue = nameField.text

再來,

在UITextField 輸入時會有鍵盤出現,

如果在程式中加入: nameField.resignFirstResponder() 的話,

鍵盤在觸發事件發生時(譬如@IBAction)會從螢幕上收起來, 消失!

沒加 resignFirstResponder() 的話,

則鍵盤會一直停留在螢幕上不會消失.


文章標籤

小明學iOS 發表在 痞客邦 留言(0) 人氣()