看板 MacDev 關於我們 聯絡資訊
※ 引述《luckycan (罐頭)》之銘言: : 小弟不才,有幸加入iOS工程師的行列 : 今天正式上班,主管丟了題目下來 : 他說︰1.APP接收後端資料庫圖片,去修改APP夾帶的圖片 : 2.APP接收後端資料庫資料,去修改strings檔內多國語系顯示的文字 : 舉例來說︰ : 1.APP夾帶了一張圖片01.png,然後資料庫傳送新的01.png給APP, : 將原本的圖片永久取代,顯示出新的01.png : 2.strings檔內的文字"a"="a1",有辦法直接使用Xcode內碼修改成"a"="a2"這樣? : 以上這兩點有辦法實現嗎? 首先,你要先知道檔案在App裡面會有兩種存放的地方,一個是bundle內,一個是你 程式可以存取的地方。 Bundle裡面的檔案只能讀取,不能修改,也不能新增,必須由Xcode project裡面加 入。 你程式可以存取的部分,則分成Document,tmp,Cache等等。 你的問題,如果你主管問的目的是要你去查詢這兩種檔案存放區域的限制,那就回他 做不到。如果他是知道這兩種區域的限制,卻還是要你做到這樣的功能,那就要從 code層面處理,不用內建的 NSLocalizedString 之類的 macro,而是自己實作這種 功能,從 Document 裡面的檔案把要的資訊讀出來。 如果他不知道這兩種區域的限制,卻要你做出這樣的功能,代表他根本不知道 iOS 開發的限制,如果你公司沒有人可以教育他,那還是換工作可能會比較好... -- Luna quieres ser madre y no encuentras querer que te haga mujer -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.160.101 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1486036492.A.873.html
darktt: NSLocalizedString可以指定讀那個檔案,那就可以解決了 02/02 20:15
Blueshiva: 只能設定由某個bundle讀出來,沒法指定特定檔案吧?剛 02/02 20:22
Blueshiva: 剛查到是這樣 02/02 20:22
yoshilin: 可以把server的檔案下載到cache,顯示時,如果cache沒有 02/02 21:03
yoshilin: 就用bundle的 02/02 21:03
Blueshiva: 但是就是不能直接用NSLocalizedString,要做自己的 02/02 21:35
kokuyoku: 用NSLocalizedStringFromTableInBundle就可以指定bundle 02/03 11:05
kokuyoku: 內的特定檔案了 02/03 11:05
kokuyoku: 抱歉 我弄錯了這個沒辦法指定Document的檔案 02/03 11:08
charlesdc: https://goo.gl/ZDnYnJ 02/03 11:17
Blueshiva: @charlesdc 提供的這個方式太猛了,直接動態建立bundle 02/03 11:27
charlesdc: D大應該就是這意思 02/03 11:39
benjenq: 問:要改寫NSLocalizedString(key, comment)嗎? 02/03 17:55
shinrenpan: NSLocalizedString 是marco, 基本上應該是用 mainbun 02/03 18:00
shinrenpan: dle 02/03 18:00
benjenq: NSLocalizedString(x,x)預設去讀NSBundle mainbundle 02/03 18:12
benjenq: 透過以上方法,能把預設改到下載的table檔? 02/03 18:13
ssccg: NSLocalizedString是macro,可以undefine再define成自己的 02/03 22:33
benjenq: 感謝ss大~系統macro也能undef,長知識了! 02/04 02:50
darktt: 不建議使用undef的方法,因為這在Swift是不適用的 02/04 11:13