parse支援的資料型別
目前parse的table column支援nsstring, nsnumber, nsdate, nsdata, 或者另外乙個pfobject。同時也可以使用nsdictionary and nsarray儲存結構化的資料。其中nsarray 支援相對應的查詢。雖然可以使用nsdata儲存二進位制資料,但是推薦先使用pffile儲存檔案,比如**等,而在對應的column儲存pffile的引用。
常用的查詢
類似sql,查詢時先建立pfquery物件,然後設定查詢條件。
先看個簡單的,查詢gamescore表中playname等於 「dan stemokoski」的所有記錄。
pfquery *query = [pfquery querywithclassname:@"gamescore"];[query wherekey:@"playername" equalto:@"dan stemkoski"];nsarray *objects = [query findobjects];
這個是查nsnumber,查詢 playage大於18的所有記錄。
[query wherekey:@"playerage" greaterthan:[nsnumber numberwithint:18]];
這個是查陣列的,arymatchtypes是乙個nsarray的陣列,下面的語句查詢arymatchtypes包含"football"的所有記錄。
複製**
[query wherekey:@"arymatchtypes" equalto:@"football"];
既然是物件導向的,parse也支援關聯查詢,下面的例子中comment和post都是parse的物件,下面的**可以查詢包含mypost物件的所有comment記錄。
pfquery *query = [pfquery querywithclassname:@"comment"];
[query wherekey:@"post" equalto:mypost];
parse支援子查詢,下面的例子是找到所有comments的記錄,其中的post含有image。
pfquery *innerquery = [pfquery querywithclassname:@"post"];
[innerquery wherekeyexists:@"image"];
pfquery *query = [pfquery querywithclassname:@"comment"];
[query wherekey:@"post" matchesquery:innerquery];
或查詢,很遺憾,parse不支援or條件查詢,只支援and,要用or的話可以用compound query,類似sql的union
pfquery *lotsofwins = [pfquery querywithclassname:@"player"];
[lotsofwins wherekey:@"wins" greaterthan:[nsnumber numberwithint:150]];
pfquery *fewwins = [pfquery querywithclassname:@"player"];
[lotsofwins wherekey:@"wins" lessthan:[nsnumber numberwithint:5]];
pfquery *query = [pfquery orquerywithsubqueries:[nsarray arraywithobjects:fewwins,lotsofwins,nil]];
快取查詢的結果集合支援快取,也可以設定不同的快取策略。快取都是query級別的。
query.cachepolicy = kpfcachepolicynetworkelsecache;
可以指定以下幾種快取策略:
kpfcachepolicyignorecache: 查詢結果來自伺服器,而且也不會儲存在快取。這是預設的設定。
kpfcachepolicycacheonly : 只從緩訪問資料。如果快取沒有資料會產生pferror,也可以忽略不處理這個error。
kpfcachepolicynetworkonly: 只從網路取資料,同時儲存在快取。
kpfcachepolicycacheelsenetwork: 先從緩訪問資料,如果沒有的話,再從網路取。
kpfcachepolicynetworkelsecache: 先從網路取資料, 沒有的話再從快取取。
kpfcachepolicycachethennetwork; 先從緩訪問資料,無論結果如何都會再次呼叫callback函式查詢伺服器。也就是說會產生2次呼叫。通常的用法是先快速取出資料展示view,然後再後台連線網路取得最新資料,取到後用來自網路伺服器的最新資料更新view。這種policy不能用於findobjects方法,只能用在非同步呼叫的findobjectsinbackground。
基於ArcGIS構建安全的移動端App
根據平常工作中跟客戶 開發商朋友交流的情況來看,移動端的空間資訊保安 一直都是大家很關心的問題。arcgis10.1 提供更多的安全策略,更好的保護移動端的空間資訊保安。比如 1 arcgis server 提供許可權管理和令牌驗證功能,控制不同的使用者和角色訪問或者編輯 不同的地圖服務 2 arc...
談談移動App的思維誤區
使用者使用時長下降,一定是應用出現了問題 在許多移動統計系統裡,有使用者平均每次使用時長這一資料。如果你發現這個資料有所下降,就認為這一定是壞事,這種想法可能有欠全面。事實上,你需要考慮你最近是否對軟體進行了優化,因為有一種可能是這種優化減少了使用者探索和誤操作的時間。例如使用者很喜歡魔圖的拼圖功能...
談談移動App的思維誤區
使用者使用時長下降,一定是應用出現了問題 在許多移動統計系統裡,有使用者平均每次使用時長這一資料。如果你發現這個資料有所下降,就認為這一定是壞事,這種想法可能有欠全面。事實上,你需要考慮你最近是否對軟體進行了優化,因為有一種可能是這種優化減少了使用者探索和誤操作的時間。例如使用者很喜歡魔圖的拼圖功能...