Tag: objective-c

  • Bookmark: Hashids, Generate short hashes from numbers

    Bookmark: Hashids, Generate short hashes from numbers

    以前寫過自己的短網址服務,不過那時候很多計算,尤其是網址的編碼都是亂寫一通。跟朋友討論的時候才曉得用 base36 之類的方法編碼。 最近又碰到一個需求,需要將幾組參數編成較短的字串,在 StackOverflow 上亂逛找到了 Hashids 這個好東西。支援多種語言、可自訂 salt,可編多組參數,最重要是這是雙向的,可以解回來。完全符合需求。 ps. 其中 PHP 版的範例有用到 namespace,把源碼的 namespace 註解掉就可以在 PHP 5.3 以下使用。

  • Git .gitignore file for Xcode projects

    最近才開始整理一些在寫 Obj-C 時當作測試用的範例程式碼,想丟去 GitHub 作個紀錄。 因為這樣才開始在 Xcode 裡使用 Git。雖然 Xcode 本身有整合 Git,但是那個整合還蠻陽春的,連 .gitignore 要怎麼設定都沒點提示。 .gitignore 是 Git 程式碼管理系統裡用來指定哪些檔案不需被追蹤用的文字檔。 看在 Xcode 專案裡的檔案分佈,哪些要忽略還真不容易分辨。一樣是在 StackOverflow 看到幾個解答,在這筆記一下。 # Xcode .DS_Store */build/* *.pbxuser !default.pbxuser *.mode1v3 !default.mode1v3 *.mode2v3 !default.mode2v3 *.perspectivev3 !default.perspectivev3 xcuserdata profile *.moved-aside DerivedData .idea/ *.hmap 這樣再看 Xcode projects 就清爽多了。 Update Jun 28, 2013 另一種寫法 # Exclude the build directory…

  • iOS: Disable Automatic Reference Counting for Some Files

    開發 iOS 所使用的 Objective-C 語言隨著 APP 生態發展,也變成一門挺熱門的語言。相對地,其發展也進步許多。 Apple 於 2011 年才在 Objective-C 中導入了 Automatic Reference Counting (ARC) 機制,做為自動記憶體管理的解決方案。在 ARC 出現之前,Obj-C 中記憶體釋放完全是由開發者操作的,對於慣用 script 語言的我來說相當的不習慣,而且也覺得很囉嗦。我偏好 PHP, Python, Ruby 這類可以寫得很簡潔,專注在我要解決的問題與需求上的語言。從 C 演化來的 Obj-C 宛如火星文一般。 所以我是很習慣在開 Xcode 專案時使用 ARC 機制的,可以不用寫 release 方便許多。我連 @synthesize 都沒在寫的。 前面扯這麼多,當然是在鋪 ARC 的梗。開發過程中常會用到第三方的 Library 或 Example code 來加速開發或完成某些外部資源串接。這些第三方的 code 有許多仍是用 non-ARC 模式開發的 (就是手動管理記憶體)。但是專案開了 ARC 模式後編譯 non-ARC…

  • How to know if Xcode iOS project is using ARC?

    基本問題,如何查詢 Xcode 的 iOS 專案是否有使用 ARC (Automatic Reference Counting)? 在 Xcode 中點選 Target -> Build Settings -> 搜尋 automatic,就會看到 Objective-C Automatic Reference Counting 是 YES 還是 NO 了。

  • 取出浮點數的小數部份

    老實說,平常很少有標題這樣的需求。這天在寫一個分頁計算程式,其中最後一頁除下來 (分頁總長度 / 顯示長度) 會出現餘數,需要做點特別處理。 然後就很習慣性地開始想說怎樣才能快速檢查 float 浮點數的小數部份是不是 0.0。結果都還沒開始思考,就剛好在 StackOverflow 看到一個 Answer,只有一行。 if(num % 1 != 0) do something! // eg. 23.5 % 1 = 0.5 對吼,取 1 的餘數就好了啊 XDDDD 立馬改寫成 Objective-C 的版本,完成了工作。 if (0.0f != fmodf(currentPage, 1.0f)) { // do something } Obj-C 的取餘數要用 fmodf 這點一直很不習慣,老是忘記,總是習慣性地寫百分比符號….

  • Bookmark: Learning Object-C by Cocoa Dev Central

    學習 Apple APP 開發會經歷好幾個階段,像是如何使用 XCode 開發工具,如何撰寫 Object-C,以及如何使用 Cocoa。在學習 Object-C 的過程中逛到這個專門提供 iOS 程式開發教學的網站 Cocoa Dev Central,文章簡單易懂,排版也非常容易閱讀。其中關於 Object-C 的章節是我最近在閱讀的。 http://cocoadevcentral.com/d/learn_objectivec/