跳到主要內容

[NOTE] Swift

if

if else 判斷時,可超合 && 和 ||

if的()可以不需使用!

比較字串是否相等時,就是用 ==,會比較字串是否相同

若是比較字定義的物件是否相等時,要用 ===,會比較是否為同一物件

 

switch case

可以不用()

可以比對任何型別

每個case裡的command執行完就會自動break,所以不用每行都加break

case裡不可以是空的,若一定是空的,就給他一個break

加上fallthrough可以繼續執行下一個case

case可以有多個符合條件,用逗號分開(case 1,100: )

 

for

for i in 1..3 { // 1,2

}

2015/09/12 幹,上面兩個點的已經不能用了

for i in 1..<3 { // 1,2

}

 

for i in 1…3 { // 1,2,3

}

// 印出每個字元

var name = “ABC"

for char in name {

}

 

optional

宣告optional時,問號需跟變數型別沒有間隔 var age: Int? , 不能是 var age: Int ?

加上?後,會被自動初始化為nil

//判斷optional是否有值,有值再access

if let ageNumber = age {

}

if var ageNumber = age{

}

加上?表示為optional型別,加上!表示自動解包裝(Implicitly Unwrapped Optionals),直接從optional取值

var aa = age ?? 30 // ?? 為optional加上預設值,當nil時會用預設值。注︰??左右要有空白!!

 

function

func eat(name:String, foodPrice price:Int) // 外部參數名稱(可省略) 內部參數名稱: 參數型別

func eat(name:String, price price:Int) // 外部參數名稱與內部參數名稱相同也可以但會有警告

func eat(name:String, #price:int) // 加上#表示會自動產生同名的外部參數名稱

func eat(name:String, price:Int = 50) // 設定預設值,當沒有傳入pirice參數時,price將被自動設為50

function return

可以回傳包含多筆資料的tuple型別

// 無回傳值時

func test1(){

}

func test2()->void{

}

func test3()->(){

不限數量參數

func movie(title:String, actors:String…){

    for actor in actors {

        ….

    }

}

不限數量參數必須是最後一個參數

最多只能有一個參數是不限數量參數

 

 

留言

這個網誌中的熱門文章

[Swift] String Format for NT$

  var amount = NSNumber(int: 8880) var _currencyFormatter = NSNumberFormatter() _currencyFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle //_currencyFormatter.currencyCode = "NT$ " //_currencyFormatter.formatterBehavior = NSNumberFormatterBehavior.BehaviorDefault //_currencyFormatter.negativeFormat = "-$#,##0" _currencyFormatter.positiveFormat = "NT$ #,##0" _currencyFormatter.stringFromNumber(amount)   輸出結果︰ NT$ 8,880   參考︰ http://www.cokco.cn/thread-35548-1-1.html http://www.freair.com/bbs/simple/?t558.html

小米路由器 mini 刷機

這次會來刷機是因為要給 MOD 使用 但原本的 小米路由器 mini 沒支援 IPTV 不想再買一台路由器(已經有四台了XD,有3台是被淘汰的)   參考文章︰ 1.  ERIC的攝影世界 - 小米路由器mini 免USB打開SSH  ( 備份檔案 ) 2.  ERIC的攝影世界 - 小米路由器mini韌體刷openwrt PandoraBox韌體  ( 備份檔案 ) 3.  寫寫東西 分享心得 - 小米路由器mini 改韌體 可看中華電信MOD iptv功能開啟 刷機 刷rom 直通MOD 老毛子Padavan固件 華碩 RT-AC54U  ( 備份檔案 )   其實找了很多篇文章,大部份都教用官方的那招,但不知道為什麼我就是取不到SSH的密碼 https://d.miwifi.com/rom/ssh  這個一直導不到要的那頁… 所以後來是用了  ERIC的攝影世界 - 小米路由器mini 免USB打開SSH  的第二招  免USB打開SSH 步驟︰ 1. 手動更新韌體到小米路由器mini 穩定版 2.8.14 ( 備用檔案 ) 2. 然後按  ERIC的攝影世界 - 小米路由器mini 免USB打開SSH  的 1.2.3.4.5   2.1 登入  小米路由器mini控制台  後複制網址     http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8 /web/home#router   2.2 將下面的網址紅色部份換成自己的,然後再貼到Browser上     http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8 /api/xqsystem/set_name_password?oldPwd=路由器控制台管理密碼&newPwd=admin     順利的會得到  {"code":0}   2.3 將下面的網址紅色部份換成自己的,然後再貼到Browser上     http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8 /api/x

[PS4 VR] 影片轉檔

怎麼用索尼PSVR看安卓VR 360° 3D視頻 => 將雙眼視頻改成單眼視頻,將格式改成MPEG-4,解析度1920*1080 ,60幀 15000kbps https://kknews.cc/tech/vme9a5l.html ============================================================== Wondershare Filmora:  8.0.0 for Mac 破解版下載 http://www.iphoneba.net/2563.html v8.2.0 http://www.zhinin.com/wondershare_filmora-mac.html ============================================================== for Littlstar http://docs.littlstar.com/plugins/servlet/mobile?contentId=2262863#content/view/2262863 Video Requirements H.264 High@5.1 or lower Max pixel width: 2560 Max frame rate: 60fps (最好是29.97) YUV420/NV12 color space 20Mbps bit rate or lower Audio Requirements Stereo Audio only AAC (Advanced Audio Coding) 320Kbps bit rate or lower Container Requirements File extensions: MP4, MOV No fragmented MP4 No DRM 15 min max duration 以上~ Littlstar不支援平面的3D格式,只支援180或360 而PSVR的媒體播放器不支援3D,只支援360 ============================================================== Make 3D Videos For PSVR Wat