Re: [問題] 自動更新

看板MacDev作者 (apron)時間14年前 (2011/09/17 23:15), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串1/1
※ 引述《yueyajbdt (碳烤焦貓)》之銘言: : 我目前寫了一個可以檢測停車位的app,但發覺當離開這個app回到 : iphone主頁面時再點進去不會進行更新,我本以為離開後就會call dealloc : 但從實驗上來看好像沒有... : 我把wifi關了再點進去結果還是保留上次的資訊 : 在網路上有看到別人寫的app裡面包含了每2分鐘自動更新一次數據的功能 : 請問這個是怎麼做的 一點淺見,在ios4以後,系統支援 multitasking 所以你在單純用home鍵回到桌面 並不會真的把app關閉 系統會將app放到background 等用戶再開啟那個app時 就把 這個process從background拿回來 在ios編程中 通常在你的xxxappdelegate.m中 會包括你的app的一些事件處理的方法,像上面所說的 當你按home 鍵回到桌面那一瞬間 但要注意的是你的app也應該照顧到ios 3.x或更早的裝置 如果ios支援multitasking 那 你可以用 application:willresignactive, application:didenterbackground等handler 如果沒支援multitasking那程式應該會觸發 application:willterminate 就是真的把app 關閉。 至於要怎樣在background進行工作 基本上就是用到 thread , quque, gcd等等的東西 另外順帶一提GCD配上 block是很好的策略 基本上如果你的程式要做異步操作都會用到 你可以參下以下兩個連結 : http://tinyurl.com/3v2ru7n ^^^這個是有關 gcd 跟 block的概念與應用 http://tinyurl.com/6z8w28h ^^^這個應該跟你要的功能有點類似 可以去看看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.246.252.94

09/17 23:20, , 1F
另外你所說的每隔一段時間做事 可以用 nstimer
09/17 23:20, 1F

09/18 14:32, , 2F
multitasking我記得只能執行media location跟voip吧
09/18 14:32, 2F

09/18 16:37, , 3F
其實不必用到multitasking,他的問題只是在把更新的code
09/18 16:37, 3F

09/18 16:38, , 4F
放在不會被叫到的method裡了,去找一下iOS4裡面程式切換
09/18 16:38, 4F

09/18 16:38, , 5F
的時候哪幾個method會被系統叫到就好了
09/18 16:38, 5F

09/19 17:16, , 6F
感謝兩位的回答,我有找到方法解決我的需求,但同時也
09/19 17:16, 6F

09/19 17:16, , 7F
有新的疑問,請兩位看看
09/19 17:16, 7F

09/19 17:17, , 8F
在原文章裡
09/19 17:17, 8F

09/19 18:33, , 9F
唔..自己解決了QQ
09/19 18:33, 9F
文章代碼(AID): #1ETBcFbp (MacDev)
文章代碼(AID): #1ETBcFbp (MacDev)