plist涉及到沙盒的乙個問題
儲存玩家資料,模擬器讀寫都可以,而真機plist檔案只能讀不能寫,十分頭大,弄球一天找到了問題所在。
按照網上比較有說服力的說法是:ios程式執行的時候是在「沙盒」裡執行。而沙盒裡的資料不能寫入,只能讀取。
nsbundle *bundle = [ nsbundle mainbundle ];
nsstring *filepath = [ bundle pathforresource:@"cfg" oftype:@"plist" ];
filepath列印出來的執行位址應該類似
nsarray *doc = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes); nsstring *docpath = [ doc objectatindex:0 ];
可以看到系統檔名id和上面的一樣。
nsarray *doc = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring *docpath = [ doc objectatindex:0 ];
// ****************************** 寫入plist初始化資料(最後有,先說讀取)
讀取:nsarray *doc = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring *docpath = [ doc objectatindex:0 ]; // 字典集合。
nsstring *content = [ dic objectforkey:@"score" ];
nsarray *array = [ content componentsseparatedbystring:@","];
content裡就是「score」裡所儲存的資料,array是將content裡的資料按「,」拆分,僅將兩個「,」之間的資料儲存。
寫入:一定要注意,必須建立乙個新的nsmutabledictionary
// 用來覆蓋原始資料的新dic
nsmutabledictionary *newdic = [ [ nsmutabledictionary alloc ] init ];
// 新資料
nsstring *newscore = @"100,200,300";
// 將新的dic裡的「score」項裡的資料寫為「newscore」
[ newdic setvalue:newscore forkey:@"score" ];
// 將 newdic 儲存至docpath+「score.plist」檔案裡,也就是覆蓋原來的檔案
nsarray *doc = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring *docpath = [ doc objectatindex:0 ];
discuz涉及到的問題
其中 設定創始人 config global.php 修改 config admincp founder 1,511314 其中門戶管理中同步登陸 在discuz panel修改 construct將tbl common admincp session表中的 errorcount置為 1 panel...
微信證書發布涉及到的問題
參考 這個問題被搞了好久,一直沒找到解決方式,網上解決方案倒是很多,但是之前找到的,嘗試過都不行,今天總算是給解決了 問題描述 system.security.cryptography.cryptographicexception 出現了內部錯誤。at system.security.cryptog...
技術應用涉及到的四個方面的問題
我發現一般的工程技術應用問題可以歸納為四個方面的問題 如何定義問題 如何解決問題 如何驗證問題已經得到了解決 如何優化解決問題的效率。下面我以乙個具體的例子來解釋這四個方面的問題。比如家電製造商的需求調查人員通過調查,發現使用者的需求是想吃上熱飯,於是就定義了乙個問題 通過製造什麼家電能夠滿足使用者...