感恩

感恩聖尊蓮生活佛

感恩多聞天王黃財神及其所有眷屬
-----------------
連續修了兩三天的黃財神法,

感恩師佛的加持,黃財神的加持,及黃財神眷屬的加持!

今天,連宇公司寄了聘用任職的書給我,看來柏雄還真會唬爛唷!

總之,即來之則安之,願意用我的人,我當盡心盡力!

不管出世間入世間都一樣!

感恩~師佛的真佛密法的殊勝!感恩諸佛菩薩護法的感應!

阿彌陀佛!

Objective C live streaming audio in one line



[[(AVAudioPlayer*)[AVAudioPlayer alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://translate.google.com/translate_tts?q=hello+world"]] error:nil] play];

了解 Objective-C 上的 KVO(Key-Value Observing) 機制

ref:http://blog.riaproject.com/objective-c/2147/了解-objective-c-上的-kvokey-value-observing-機制.html

在很多的程式語言中都會有 data-binding 的機制,那麼在 Objective-C 中有嗎?答案是有的,不過他不稱為 data-binding ,他在 Objective-C 中稱為 KVO (Key-Value Observing),光從名字來看就會知道他可以讓你去偵測某個 Key 中的 Value 是否有被變動,這樣就可以提供開發者比較簡便的方法來當數值變動時會牽動其他程式的運作,所以今天我們就來講一下 KVO 吧。
依照以前的慣例,我們用一個非常簡單的例子來講這段,這樣大家就不需要看到這麼多的 code ,可以專心在了解 KVO 的運作方法。
首先建立一個 SimpleModel ,有趣的地方只有在我自己建的 name setter ,你可以看到我執行了 willChangeValueForKey 和 didChangeValueForKey 來自己觸動 KVO 的機制,當然如果你現在看不懂也沒有關係,當你沒有實作 setter 前,其實 KVO 機制自己會進行處理,我只是順手示範了一下想要自己作時該如何進行,其他部分都算蠻單純的,所以就不解釋了。

在使用 KVO 之前,你不需要先告知你要偵聽哪個 Key 的改變,所以你會看到我在 view 啓動時就用了 addObserver 來加入偵聽動作。

一但你加了偵聽動作後,只要有被你偵聽的 key 質改變時,就會自動去呼叫 observerValueForKeyPath 這個方法,並把受更改的 key 和更改的內容傳回來,這樣你就可以做一些邏輯的判斷和處理,在這個示範中我是確認當更改的 key 是 name 時,我就將更改前與更改後的值吐到一個名為 _infoLabel 的文字中做顯示,其結果如下:

程式剛啟動時將 SimpleModel 中的 name 屬性預設值顯示在畫面上,然後你可以點選上方的按鈕來改變 name 的數值。

你可以看到我故意將數值印在 Console 中,你可以看到 keypath 和 change 傳回的內容,應該可以非常容易看出它的運作方法。

運算完的結果如上圖,直接把結果印出。
所以看完這個展示,你應該就對 KVO 的運作方法有認識了,所以當你考慮想要作出 data-binding 的效果時, KVO 就是在 Objective-C 中其中一種時作的方法。

其他類似的方法還有 NSNotification 和 Delegate 這兩個機制,當然每種所運用的時機是截然不同的,在這篇我就不講了,若是有機會的話我在跟大家分享。

view lifecycle


ViewController的生命週期中各方法執行順序如下:
  • init—>
  • loadView—>
  • viewDidLoad—>
  • viewWillAppear—>
  • viewDidAppear—>
  • viewWillDisappear—>
  • viewDidDisappear—>
  • viewWillUnload->
  • viewDidUnload—>
  • dealloc
ViewController是iOS開發中MVC模式中的C,ViewController是View的Controller(所以如此命名),ViewController的職責主要包括管理內部各個View的載入、顯示和釋放,同時負責與其它ViewController的溝通與協調。
在iOS中,有兩類ViewController
  • 一類是顯示內容的ViewController:比如UIViewController、UITableViewController等,同時還可以自定義繼承自UIViewController的ViewController。
  • 另一類是ViewController容器:UINavigationViewController和UITabBarController等,UINavigationController是以Stack的形式來存儲和管理ViewController,UITabBarController是以Array的形式來管理ViewController。
從圖中可以看到,在View載入過程中首先會調用loadView方法,在這個方法中主要完成一些關鍵View的初始化工作,比如UINavigationViewController和UITabBarController等容器類的ViewController;接下來就是載入View,成功載入後,接著會調用viewDidLoad方法,這裡要記住的重點是,在loadView之前,是沒有View的,換句話說在這之前,View還沒有被初始化。完成viewDidLoad方法後,ViewController裡面才會成功載入view。
在Controller中創建View有兩種方式,一種是透過code產生、一種是透過Storyboard或Interface Builder來建立,後者有比較直觀的配置View的外觀和屬性。

多寫幾次專案,自然就有感覺了:)


抓的越緊,綁的越緊!

感恩師佛的加持與教導

感恩諸佛菩薩護法的加持與教導
---------------
我相信『余董』不是那種見利忘義的人,
今天,一早副總Hank招集大家,說明現在新上任的董事長『卓董』,
未來的展望與計畫,說明著,未來公司營運的主軸。

我回想起來,週一,宣布余董卸任,卓董上任時,中午的慶生會,壽星有余董,
可是,慶生會後,馬上就是余董歡送會,這個社會就是那們現實,
當然我沒有參加歡送會,因為根本就是一場『項莊舞劍,志在沛公』的把戲。

唉!平平都是人,為何搞的那麼複雜!

今早,開完了展望會後,就是來處理我們Team的問題,
原來,在董事會中,我們Team早已經是黑名單,沒有產出。

說實在話,確實是沒產出,來公司快三年,真的有賣出我們所開發的ic嗎?
實在很愧對公司,但是,不管如何,我現在依舊感恩『余董』,
唉!我的腦袋很簡單,實在不想搞的那們複雜!
人世間的恩怨情仇,我實在不想去介入,我就是簡簡單單修真佛密法就好了!

未來的友碁,我祝福他,事業蒸蒸日上!

嗡。古魯。蓮生。悉地。吽。

余董卸任了!

感恩師佛的加持與教導

感恩諸佛菩薩的加持與教導
-------------
夢果然有反應現實,

在2014年10月2日零晨的夢境,

居然夢見卓董跟Hank在我的夢境出現,

對我說:『把你的資產,開發的Tilt功能,Share出來?』
我卻說:『那不是我的資產,那是公司的資產,公司說ok,Releae出來又何訪!』

之後,我就醒來了!

沒想到,今天2014年10月3日董事會,10月6日一大早公司衝大宣布,
宣布:『余董卸任,由卓董接任!』

不知道此夢跟這些事是否有關連。

心中想:『隨便如何安排,每天還是乖乖的修真佛密法就是這樣!』

嗡。古魯。蓮生。悉地。吽。

虹光大成就-密教灌頂(一)