前言
終於來到了day15 這也意味著我面試已經經過了15天的努力 104成績表 信箱裡面總共有51條面試通知 真正去面試的大約30間 有些來亂的
前兩個禮拜 每天固定面試兩家公司 地點台中 經驗兩年 作品10件 每一家公司自我介紹 以及作品集介紹說法皆一至 薪水都開 N+7~N+10 故意開高給他有個殺價空間
總共目前入取出爐有七家 (博弈3 傳產4) 薪水五家落於N 一家落於N+10 一家落於N+5 這些是有達到N的才考慮 沒有N的大有人在 我都推掉了
但N+10的感覺根本不是要我寫iOS 讓我很困惑 他們想找的應該是網頁人士 有使用過cordova的 哎 讓我真的不知道要不要去試試看 雖然有接觸過PHP html 但還是是熱衷於iOS上面啊 PHP報錯都不會很明確的性質 會讓找bug找到很頭痛 以前研究所慘痛經驗
N+5的也是要我寫cordova 而且還不用去公司上班 在家寫 what?
還是現在業界根本不知道 iOS程式碼事OC 或是 Swift 或是其實我早就要被cordova取代了 這樣的話說不定我進去會真的有所成長 人生好煩 選錯出來又要重新面世更煩 哭了
GCD
Swift
Grand Central Dispatch(GCD) 也就是很常使用的多線程or單線程 也是同步與異步 這幾種說法
這邊就介紹一般的簡易用法
async 是非同步 或是多線程 所有任務一起執行 一群大媽一起衝進廁所
sync 是同步 或是單線程 任務排序進行 一群大媽排隊進廁所
使用方法如以下程式碼 global通常是使用在資料的運用
var testStr : String = "1"
DispatchQueue.global(qos: .userInitiated).async {
testStr = "2"
}
資料以外的UI更新 請用main更新 如以下程式碼
DispatchQueue.main.async {
self.dateLabel.text = testStr
}
兩樣合體 又要改變數 又要改UI 結構如下 應該蠻簡單的 async與sync 自行更換兩種型態
var testStr : String = "1"
DispatchQueue.global(qos: .userInitiated).async {
testStr = "2"
DispatchQueue.main.async {
self.dateLabel.text = testStr
}
}
OC
轉譯過來應該是這樣 可以比對一下
NSString * testStr = "1";
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
NSString * testStr = "2";
dispatch_async(dispatch_get_main_queue(), ^{
self.dateLabel.text = testStr;
});
});
延遲宣告
如果要延遲宣告一些func 可以用以下程式碼
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
self.addView()
})
留言列表