2011-06-29 39 views
1

只需要您對問題的思考以及如何解決問題。 我有一個通常不會要求連接到網絡的應用程序(除非用戶希望從應用程序內發送電子郵件)。 我喜歡不時地通知用戶,但不是所有的時間都可以說,即新聞和每日提示等在啓動時。 你會如何解決這個問題? 我會在啓動時彈出一個uialertview嗎?我如何防止它隨時彈出,只有在我有新的東西要說時才彈出來?用UIAlertView提醒用戶

我在這裏有點失落,任何幫助將不勝感激。

感謝

+0

你能提供一些實時情況嗎?你怎麼知道現在你需要顯示彈出? – Deeps

+0

當您有新的東西要說時,您可以使用警報視圖。我不認爲有更好的辦法。 – karim

+0

當您想要顯示第一個UIAlert時,在NSUserDefault上保存一個日期。一旦觸發,將日期重置爲當前值+所需的時間間隔,然後再次彈出UIAlert。您可以檢查App Delegate didEnterForeground方法中的值。 – Rog

回答

0

您可以實現推送通知,提醒對新鮮事物的用戶來自服務器....

+0

有沒有關於答案的問題? – iMOBDEV

+0

是的,對不起,得到評論。推送通知是一個壞主意。爲什麼?因爲您不需要隨時推送您應用的新聞和提示。他希望他們在啓動他的應用程序時「彈出」,如果有什麼新東西要說。 –

+1

從長遠來看,推送通知可能是一個更好的主意,因爲UIAlert消息必須「硬編碼」到應用程序中,而通過推送,您可以隨時隨地發送任何您想要的內容。 [編輯]說他們不是必須硬編碼,但推送通知肯定更實用。 – Rog

1

上升,它聲明的接近顯示警報鑑於時間的通知是一個好主意如jignesh所述。 向方法或場景添加一個通知,指出狀況以顯示警報,並在情況發生時顯示alertView。

希望它有助於ü

TNQ

+0

我真的不想使用日期,因爲我沒有特定的日期或固定的日期間隔。我寧願有警報視圖檢查每次網絡,如果有什麼顯示好,如果不是不會顯示。如果這是有道理的... –

+0

我的意圖也是一樣的。我認爲使用BOOL變量可以確定是否找到更新。只要發現更新,使BOOL是並寫入條件以便在BOOL時引發是YES.並且在發出警報後,將BOOL設置爲NO,但應該有一種經常搜索網頁的方法或類。 – Dinakar

0

好吧,這裏是我的主意。

您需要在您的服務器上的飼料。這你可以發一次。您發送的時間將是您最近一次檢查新郵件的時間。服務器上的腳本需要在發送完畢後返回所有消息。

在應用程序中,您將得到響應(可能是最好的plist或xml格式),它將包含您要發送的所有新消息(發送之後)。此時您現在要記錄當前時間。你應該爲此使用一個NSUserDefault(所以你可以在下次從服務器獲得所有NEW消息)。您還希望將新消息放入NSUserDefault(使用可變的字符串數組)。

在啓動應用程序時,您要檢查NSUserDefaults以查看是否有任何消息(if([[defaults messagesArray] count] > 0))。如果有,那麼UIAlertView它們(一次一個)。在你做[alert show]之後,你想從陣列中刪除它們。

想想我的頭頂,讓我知道如果沒有任何意義! :p