我正在iphone上寫一個即時消息客戶端/ post ref:#IMClient01。 這裏是我對它的初步設計:IPhone即時消息客戶端設計問題
(UIView*)LogInWindow; // to log in
(UITabBarController*) MainTabBarController;//have three tabs, namely:Contacts, Chats, My Profile
(UITableViewController*)ContactsController; //manages a list of contact/user
(UITableViewController*)ChatsController; //manages a list of chat history, each row is a chat with a different person
(UIViewController *)ChatController; //manages a chat/conversation with a single user.
如Skype的對IPhone,有兩種方法可以開始交談/ chat.You可以通過點擊從聯繫人,或者如果用戶與Skype的用戶聊天有與用戶關聯的聊天記錄,您可以點擊聊天記錄中的聊天記錄。如果上面的場景映射到我的控制器類: 如果點擊ContactsController中的單元格/行,然後將ChatController推入頂部視圖。 如果在ChatsController中點擊一個單元格/行,然後將ChatController推入頂視圖。
在兩個推操作,它會是這樣的:
[self.navigationController pushViewController:myChatController animated:YES];
我的第一個問題是應該myChatController是一個單身類?與計算機不同的是,您可以在其中打開多個聊天窗口,並且每個窗口管理與其他人的聊天,而在iPhone中,只有一個頂部視圖/窗口,因此只能顯示一個聊天窗口?
我的第二個問題:如果ContactsController和ChatsController每個都有一個ChatController實例變量指向同一個ChatController實例,這會不會是一個好主意?所以當點擊ContactsController或ChatsController中的單元格/行時,同一個ChatController實例會被推送到頂部視圖來顯示對話?
我是否清楚地解釋我自己?如果有人能提出一些建議,我會很感激。