Source: SPY×FAMILY.CA4LA
String Interpolation 是組合字串時很常用的方式,可以很直接的把字串組合出來的結果顯示出來,例如:
var age: Int = 25
"Your age is \(age)."
對 Optional Value 進行 String Interpolation
但很多時候,要組合的變數是 optional 的,例如上面例子的 age
,如果改成 Int?
,就會收到這樣的 Warning:
Source: SPY×FAMILY.CA4LA
String Interpolation 是組合字串時很常用的方式,可以很直接的把字串組合出來的結果顯示出來,例如:
var age: Int = 25
"Your age is \(age)."
但很多時候,要組合的變數是 optional 的,例如上面例子的 age
,如果改成 Int?
,就會收到這樣的 Warning:
最近(其實已經有一段時間了…)在弄 Apple ID 2FA 的事情。
Apple 從以前就鼓勵大家多申請幾個 Apple ID,結果現在強制要啟用 2FA 之後事情就變得很麻煩 - 你要生一堆裝置出來掛 2FA…
最近試著在 Raspberry Pi 3 上編譯東西,結果遇到無法 alloc 虛擬記憶體的問題。
Virtual memory exhausted: Cannot allocate memory
查了一下需要調整一下 swapfile 大小。
Raspbian 的 swapfile 設定檔放在 /etc/dphys-swapfile
,預設值是
最近硬碟空間越來越少,因為沒有放任何音樂影片照片,空間吃緊的元兇就是 Xcode 的眾多衍生資料了。
整理一下可以清除的檔案:
~/Library/Developer/Xcode/iOS DeviceSupport
~/Library/Developer/Xcode/watchOS DeviceSupport
這個目錄下放的是每個 iOS / watchOS symbolicate crash logs 的資訊,每個版本會有一個獨立的目錄,資料很大,以 iOS 來說至少會有 2G 以上。每次接上 iOS 裝置的時候,如果沒有對應版本的資訊就會自動下載。可以把只留主力開發機的版本就好,有需要的時候 Xcode 會自己下載。
這兩天幫一台舊機器升級開發環境,包含了 rvm,homebrew 等,在用 brew doctor
想確認一下有沒有什麼問題的時候,跳出了一個警告如下:
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
簡單說就是在我的 PATH
環境變數中,/usr/local/bin
被放到 /usr/bin
之後,所以我另外安裝的新版工具不會被呼叫到,而是會執行到系統自己帶的舊版工具。
CocoaPods 很方便,不過它有個設定我實在搞不懂,就是預設會把 Pods
project 的 Build Settings > Build Active Architecture Only 在 Debug
模式下設為 YES
,導致每次執行完 pod install
之後就會發生編譯錯誤,要手動把這個選項刪掉(回復預設值 NO
)或直接改成 NO
才行。
本來以為 Auto Layout 可以用類似 @"|-[view1(viewWidth)]-space-[view2(viewWidth)]-space-[view3(viewWidth)]-|"
這樣的語法自動把三個等寬的 view 等距排列的,沒想到沒辦法。要達到這個效果的話,一個做法是把每個 space 真的塞一個空白的 view 進去,調整這個 view 的寬度,就像 @"|-[view1(viewWidth)]-[space1]-[view2(viewWidth)]-[space2(==space1)]-[view3(viewWidth)]-|"
,但這麼做會生出一堆空白 view,怎麼想都很蠢…另外一條路就是針對每個 view 單獨設定 constraint。
聽說這是 iOS 7 的 bug。
我遇到的狀況就像圖中呈現的,在第二和第三個 cell 中間的分隔線不見了。 在 stackoverflow 查了一下,雖然操作法不太一樣,不過問題的根源應該是一樣的,就是 UITableView 在處理 select 事件的時候有問題,會導致分隔線消失。
在串接各種網路服務的時候,我們會拿到許許多多的 key/token,即使只是要寄個信也需要帳號密碼,不過這些敏感性的資料,極端不建議提交到 repo 中,誰知道那天這些 repo hoster 會不會被攻破,讓 token 被人看光,更別提有些本來就想要 open source 出來的 project。
一般來說,我們會把專案擺成下面這樣子:
Projects/
Proj1/
.git/
proj1_readme.md
CVT2HUGO: > ls -la
就是很單純的有個 Projects
目錄,裡面放著所有的專案,然後把 Proj1
做成 git repo。
隨著時間過去,可能會另外有個相關的專案叫 Proj2
,然後放置的方式就會像這樣: