documents協議是訪問應用程序目錄下的文件,如果要訪問resources里面的圖片,則可以使用bundle協議。
摘要: KVO簡而言之就是:基于鍵值的觀察者,實際上就是觀察者模式。
Cocoa Framework已經為我們提供了這一模式,不需要我們自己來實現了。我們只需要按照約定的方式去做就可以了。KVO主要用于用戶界面交互,當多個View共同使用了同一個實體,當這個實體中的某個屬性改變時,如果需要更新多個界面,KVO的作用就發揮出來了。
閱讀全文
摘要: iOS開發的中文資料較少,一些有價值的資料和網站或博客大都是英文的。這些收集了一些鏈接,方便自己查看,也方面他人。 閱讀全文
對象之間進行通信最基本的方式就是消息傳遞,在Cocoa中提供Notification Center機制來完成這一任務。其主要作用就是負責在任意兩個對象之間進行通信。使用方法很簡單,如下幾個步驟即可:
假設A與B之間進行通信,B來觸發事件,A接受該事件,并作出響應。
1) A編寫自定義的消息響應函數update
2) A向消息中心注冊,[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(update) name:@"update" object:nil]
3) B觸發事件[[NSNotificationCenter defaultCenter] postNotificationName:@"update" object:nil]
每一個進程都有一個默認的NSNotificationCenter,可以通過類方法defaultCenter獲取該消息中心的實例。消息中心可以處理同一進程中不同對象之間的消息。如果要在同一臺機器上進行進程間的通信,需要使用NSDistributedNotificationCenter。
消息中心以同步的方式將消息分發到所有的觀察者中,換言之,直到所有的觀察者都收到消息并處理完畢以后,控制權才會回到調用者的手里。如果需要異步的處理消息,需要使用通知隊列NSNotificationQueue。
在多線程程序中,通知會被分發到每一個發起消息的線程中,這可能與觀察者注冊時所在的線程已經不是同一線程。
摘要: Opencv使用過程中總結的一些經驗 閱讀全文
6月18日京東搞活動,圖書買100減50,和同事一起合伙買了一批書,到今天快一個月了,基本天天都會去看下訂單狀態。
很神奇,這個訂單狀態變化無常。今天這個書明明已經有貨,明天突然就變成無貨了,要么預訂狀態,要么在途。
7月9日,最后一次更新訂單狀態,當時只有一本書處于“在途”狀態,其他所有都已經是“現貨”狀態,很高興,等了20天以為終于要拿到書了。沒想到啊,大清早的來查看一下訂單狀態。扯比的狀態讓我無語:

然后就是本來只有一本書處于“在途”狀態,現在增加了一本處于“預訂”狀態,還有一個處于無法到貨的狀態。跟客服打電話說,客服說可以有貨先發。前兩天還是有個“有貨先發”的按鈕,現在可好,連這個按鈕都沒有了。根本無法操作。如下圖:

我只能苦笑,后悔啦!京東搞個活動就把自己搞的不行了,客服被客人打電話說的高潮迭起,買書的人問候京東祖宗好幾代。
京東想做大做強,還有相當的距離要走啊。只希望我這個訂單能夠趕快處理完,阿門!
摘要: centos 5.6編譯opencv 2.2 遇到的python錯誤的解決辦法以及如何升級centos 默認的python版本2.4.3到2.6.5或更高。
閱讀全文
摘要: 今天工作需要寫一個小的網絡應用程序,計劃使用python + zeromq。
zeromq是一個并行開發框架的socket庫,提供進程內、進程間和廣播方式的消息通訊。在多對多的網絡環境中提供多對一、發布/訂閱、管道、請求/響應等網絡通信模型。
對可擴展的多核消息傳遞應用程序提供異步I/O支持。擁有多種開發語言的綁定,支持絕大多數操作系統,還有很重要的一點就是:開源,免費。 閱讀全文
Android NDK從r5b版本開始有官方支持的STL了,有一個crystax版本早已經支持。官方的支持有兩個版本一個是gnu的,一個是stlport。如果你需要在你的NDK程序中使用STL,那么需要在Application.mk文件中添加一個選項,就是APP_STL := stlport_static。 其中APP_STL的取值有以下四種:
system --> 系統默認的最小支持的C++運行時庫
stlport_static --> 以靜態鏈接的方式使用stlport版本的STL
stlport_shared --> 以動態鏈接的方式使用stlport版本的STL
gnustl_static --> 以靜態鏈接的方式使用gnu版本的STL
如果你和我一樣并沒有使用Android.mk和Application.mk,而是使用Code::Blocks或者Visual studio 2010,那么在配置環境時,如果需要STL的支持,那么就需要注意自己要指定stl的包含路徑。鏈接就根據需要自己鏈接不同的版本。請注意,stlport有靜態鏈接和動態鏈接兩種方式,而gnu的僅有靜態鏈接方法。
另外一個需要注意的就是官方提供的這個stlport版本不支持RTTI和異常,換言之,如果你使用了stlport版本的STL,則不能使用-fexceptions和-frtti這兩個編譯選項。