CloudBox CBDialog

這兩張UML圖是表達我在CloudBox中針對自行開發的Dialog與iOS的UIAlertView的結合

首先我實踐了一個CBiOSDialogView類,這是一個純粹的objective-c類繼承自NSObject

其中方法有一個-(void)showDialog:(DialogType)type :(NSString*)title :(NSString*)msg

以及另一個alertViewClick的事件來接收UIAlertView的按鍵事件

裏面的代碼只是很簡單的就只是產生UIAlertView及綁定delegate

事件也只是將DialogResult及clickIndex丟出給CBDialogManager

在整體概念中,CBDialog是一個抽象類,CBSystemDialog則是一個針對系統內建AlertView(如iOS的UIAlertView或Android的AlertDialog)接口

在iOS中我實踐了CBiOSDialog類作爲針對iOS的實踐,CBiOSDialog是一個C++類,作爲一個區隔,隔開了CBSystemDialog與CBiOSDialogView

以維持在CBSystemDialog中統一爲C/C++代碼

CBDialogManager則爲一個管理類,當CBDialog的衍生類實踐showDialog方法並在其中呼叫registerDialog類

就會將該Dialog註冊至管理類中,而在CBiOSDialogView中會直接透過管理類,將系統訊息轉接拋出到相對應的Delegate中

如同下圖所示,最終Delegate的目標爲TestScene



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章