2012年1月19日 星期四

在finder直接開啟該路徑的console畫面

話說前幾天為了測試載下來的檔案到底有沒有完整,得進模擬器裡各個app的資料夾。

但是通常這些資料夾名稱都是又臭又長,有時候如果不小心把console關掉,就要再

到程式裡印出路徑再複製貼上。我的解決辦法是:把iphone simullator那個資料夾

加進最愛,然後用Go2Shell,就ok啦。

順便記錄一下如何在console下用軟體去開檔案

open -a ""application name" file

example: open -a skim test.pdf

2012年1月17日 星期二

一些關於GCD(Grand Central Dispatch)用法的鏈結蒐集

首先我必須說,stackoveflow真的是屬於programmer的線上遊戲,越玩會越起勁!

在問的時候會有高手給你更新更紮實的觀念,在答的時候會需要找更多資料增強自己的答案完整度。

所以無論是問或是答都可以從中學習到更多東西,這就是所謂的教學相長啊。

趁著這次研究GCD相關的問題,蒐集一些自己覺得有趣的討論串。

 

下面這篇是討論在讀取大型圖檔時,如何設計讓使用者可以隨時取消背景的下載動作。

http://stackoverflow.com/questions/7605017/interrupt-queue-or-file-write-operation-in-ios

 

用兩個queue分別做DSA跟寫入檔案。

http://stackoverflow.com/questions/4532509/grand-central-strategy-for-opening-multiple-files

 

離開view之後,讓queue停止做事。

http://stackoverflow.com/questions/6525666/prevent-multiple-dispatch-queue-create-from-being-created-in-viewdidload

 

不錯的GCD tutorial一則。

http://www.fieryrobot.com/blog/2010/06/27/a-simple-job-queue-with-grand-central-dispatch/

2012年1月15日 星期日

用長按手勢標記地點 Long press to drop pin

最近想做一個LBS App,今天花了四、五個小時結果只做了兩個功能XD
一個是Google static maps沒啥好說的,用asihttp跟imageview兜一兜很快就出來了
第二個就是做出讓使用者可以在地圖上選擇自己要加入的地點座標
我大概參考了兩個app,一個是國內的,另一個是國外的

這是國內的
國內的加入地點功能頁面

第二個是國外的
國外的加入地點功能頁面

差別在哪呢?一個要用拖移的,一個直接點地圖上的點就可以標記你要的地點。
我個人是比較喜歡第二種方式啦,所以大概找了一下子怎麼做出這效果,看下面這連結吧。
http://freshmob.com.au/mapkit/mapkit-tap-and-hold-to-drop-a-pin-on-the-map/
做出來之後,我個人是覺得不用點選就出現callout好像使用者經驗會好一點。

        for (Annotation *annotation in mapView.annotations) {
            if(nil != annotation)
            {
                [mapView selectAnnotation:annotation animated:YES];
                break;
            }
        }

反正這個map只會有一個點,所以我就偷懶用fast enumeration加if了。 目前做出來是像這樣
本人英文荒廢已久,有拼錯還請見諒XD
下次學第二個把字移到上面的小UIView好了,看起來有質感一點:D

2012年1月13日 星期五

寫(!ivar)好還是(nil != ivar)好?

偶然在stackoverflow看到有人問這個問題,覺得還滿有趣的,分享一下
http://stackoverflow.com/questions/6782190/vs-nil-in-objective-c
if(!ivar)
{
  //do something
}
or
if(nil != ivar)
{
  //do something
}
簡單重點:
(!ivar)是利用原始C沒有確切的boolean值這個特性,若0則判斷為假,非0則判斷為true。
在Obj-C里,若欲判斷標的為指標的話,因為nil「通常」會是0x000000,所以如果不是0x000000,則為true。
但是,nil有可能不是0x000000,所以理論上,寫(nil != ivar)是比較安全的。

Mac可用台銀送的EZ100PU讀卡機,但是...

自從轉換到Mac之後就一直在煩惱網路轉帳的事情,我自己用的網路銀行限制一定要用晶片讀卡機,我也不知道Mac是否有支援的晶片讀卡機。

今天要繳房租時,突然想到之前去台銀辦網路銀行有送一台晶片讀卡機,趕緊把它拿出來好好端詳一番。

機種:EZ 100 PU

馬上來查查看...有了有了看這篇 http://taipeimac.ning.com/profiles/blogs/jing-pian-du-ka-ji-for

附上 星堡EZ 100 PU Mac驅動下載位址

灌完之後reboot,我的網路銀行還是沒法用,真是令人失望,難道真得去辦玉山?