LikeABossApp

我養罷個,罷個養我

[Swift小教室] guard 錯誤守衛

舊有的撰寫風格

在寫objc時我們時常看到這樣的寫法:

這邊很自然的使用if-else來區分成功與失敗兩塊block並各自做處理,不過在使用OClint等程式風格分析工具後,它會建議我們改寫成:

第二種寫法早一步偵測出錯誤,並且在第一時間處理error後,return掉該function不再繼續往下執行,看到這樣的建議撰寫風格讓我不經好奇它有什麼特別之處呢? (繼續閱讀…)

[Swift小教室] 關於inout(copy-in copy-out)

在Swift中,一個function傳入的參數無法直接改變它的值,先看一個例子:

這段程式碼試圖增加1點參數值"value",而complier此時會產生以下error:

會產生這個error是因為,Swift的function中的參數都是以pass-by-value的方式傳遞,也就是在function外部先copy一份再帶進function中,而function中的參數預設都是以常數為型態,所以無法修改。 (繼續閱讀…)

刪除 git 中 features 所有的 branches

開發時常常 branch 越開越多,但其實很多 branch 在 merge 回 develop 裡之後就可以刪掉了,於是查到了這麼一段指令,用來刪除所有 local 與 remote 中 feature 底下所有的 branch,使用前一定要確保還需要用到的 branch 有做備份。

[LeetCode] 645. Set Mismatch

Description

The set  S originally contains numbers from 1 to  n. But unfortunately, due to the data error, one of the numbers in the set got duplicated to another number in the set, which results in repetition of one number and loss of another number.

Given an array  nums representing the data status of this set after the error. Your task is to firstly find the number occurs twice and then find the number that is missing. Return them in the form of an array.

Example 1:

Input: nums = [1,2,2,4]
Output: [2,3]

Note:

  1. The given array size will in the range [2, 10000].
  2. The given array’s numbers won’t have any order.

(繼續閱讀…)

[LeetCode] 1. Two Sum

Description

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

(繼續閱讀…)

Streaks vs. Productive 兩款習慣養成app

 Streaks

頹廢人生中想培養一些好的習慣,曾經用過獲得Apple設計獎推薦的Streaks,

Streaks是一個介面乾淨、簡單易用的習慣追蹤app,新增任務有一些預設的選項,也可以自行輸入自訂的任務內容,

任務日分為「每天」、「每週」或是「每2天」,此外可以設定任務的完成數,用來追蹤一天需要服用數次的藥物或維他命也沒問題,

另外Streaks提供了大量的圖示可以選擇,方便使用者自訂各式情境的任務。 (繼續閱讀…)